<feed xmlns='http://www.w3.org/2005/Atom'>
<title>project.git/reproduce/analysis, branch journals-aas</title>
<subtitle>Core Maneage branch (where all projects derive from)</subtitle>
<link rel='alternate' type='text/html' href='https://git.maneage.org/project.git/'/>
<entry>
<title>Configuration: Imported recent updates from Maneage</title>
<updated>2025-02-17T14:21:26+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2025-02-17T14:21:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/project.git/commit/?id=78b28fd5f986cb334008cdfbc2b7b3aa6e0d53de'/>
<id>78b28fd5f986cb334008cdfbc2b7b3aa6e0d53de</id>
<content type='text'>
Until this commit, the AAS journals branch was based on Maneage commit
8161194 (dated 2022-05-22). However, maneage has been updated recently so
it is necessary to also update this branch.

With this commit, the merge has been done (and tested).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Until this commit, the AAS journals branch was based on Maneage commit
8161194 (dated 2022-05-22). However, maneage has been updated recently so
it is necessary to also update this branch.

With this commit, the merge has been done (and tested).
</pre>
</div>
</content>
</entry>
<entry>
<title>Configuration: no dependency on /bin/sh and useful run-time options</title>
<updated>2025-02-10T18:34:26+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2024-05-03T11:07:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/project.git/commit/?id=3c9bf3aff30f02c7d31bd86f36c4db2520f8ffa4'/>
<id>3c9bf3aff30f02c7d31bd86f36c4db2520f8ffa4</id>
<content type='text'>
SUMMARY: no change necessary in your project, this commit only involves
changes in how already-existing software are built. Some handy options have
also been added to the top-level project script and the copyright years
have been updated.

Until now, if the host's '/bin/sh' had conflicts with the Maneage
environment, the configuration of Maneage would crash as soon as we entered
the building of high-level software. The full scenario is described in the
comments of the newly added 'reproduce/software/shell/prep-source.sh'. This
is most relevant when building older Maneage'd project in newer
environments.

With this commit, the following changes were made to avoid the problem
above:

  - Maneage edits the source code of all installed software to replace
    '/bin/sh' with Maneage's own shell before the programs are
    built. Through this, we were able to solve the problem described
    above.

  - The portable '#!/usr/bin/env sh' shebangs are now used at the start of
    the scripts that run during configure time so it uses the first
    available shell that it finds in its PATH (the system's before Dash is
    built), then Dash, and after Dash is built, Bash.

  - For TeXLive, since we don't install it from source, it was necessary to
    add the libraries necessary for the local '/bin/sh' in LD_LIBRARY_PATH.

Some high-level options have been added to the './project' script to
simplify certain operations:

  --keep-going: do not stop upon the first crash, but keep going on to
    build targets until all build-able targets have been built. This is
    very useful for debugging large pipelines and allows you to isolate the
    problematic part of your project.

  --highlight-all: equivalent to calling both '--highlight-new' &amp;
    '--highlight-notes'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
SUMMARY: no change necessary in your project, this commit only involves
changes in how already-existing software are built. Some handy options have
also been added to the top-level project script and the copyright years
have been updated.

Until now, if the host's '/bin/sh' had conflicts with the Maneage
environment, the configuration of Maneage would crash as soon as we entered
the building of high-level software. The full scenario is described in the
comments of the newly added 'reproduce/software/shell/prep-source.sh'. This
is most relevant when building older Maneage'd project in newer
environments.

With this commit, the following changes were made to avoid the problem
above:

  - Maneage edits the source code of all installed software to replace
    '/bin/sh' with Maneage's own shell before the programs are
    built. Through this, we were able to solve the problem described
    above.

  - The portable '#!/usr/bin/env sh' shebangs are now used at the start of
    the scripts that run during configure time so it uses the first
    available shell that it finds in its PATH (the system's before Dash is
    built), then Dash, and after Dash is built, Bash.

  - For TeXLive, since we don't install it from source, it was necessary to
    add the libraries necessary for the local '/bin/sh' in LD_LIBRARY_PATH.

Some high-level options have been added to the './project' script to
simplify certain operations:

  --keep-going: do not stop upon the first crash, but keep going on to
    build targets until all build-able targets have been built. This is
    very useful for debugging large pipelines and allows you to isolate the
    problematic part of your project.

  --highlight-all: equivalent to calling both '--highlight-new' &amp;
    '--highlight-notes'.
</pre>
</div>
</content>
</entry>
<entry>
<title>Maneage'd AASTeX for American Astronomical Society journals</title>
<updated>2023-09-24T20:20:46+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2023-09-24T20:20:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/project.git/commit/?id=2db584a6a42c93ab4f99dfc0d05c11e94171b8b4'/>
<id>2db584a6a42c93ab4f99dfc0d05c11e94171b8b4</id>
<content type='text'>
Until now, the core Maneage branch was very generic and customizing for
each separate journal required some time to prepare the LaTeX style.

With this commit, a first attempt at customization of Maneage for the LaTeX
styles of the AAS journals (AASTeX) has been implemented.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Until now, the core Maneage branch was very generic and customizing for
each separate journal required some time to prepare the LaTeX style.

With this commit, a first attempt at customization of Maneage for the LaTeX
styles of the AAS journals (AASTeX) has been implemented.
</pre>
</div>
</content>
</entry>
<entry>
<title>Copyright years: updated to 2023, accompanied by some minor fixes</title>
<updated>2023-05-07T09:48:14+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2023-05-07T09:31:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/project.git/commit/?id=644a236b70fd64df6f1526c7e3ca3d148ad08044'/>
<id>644a236b70fd64df6f1526c7e3ca3d148ad08044</id>
<content type='text'>
SUMMARY: just house-cleaning, no need to do anything major in your
branch. Just update the copyright years in files that you have added.

Until now, the latest copyright years of the whole Maneage source code was
2022! As of this commit, we have already moved to 2023 for 5 months!
Furthermore, there were a few other minor issues that needed correction:

 - The URL to download input datasets wasn't quoted in 'initialize.mk' or
   the download script! As a result, when the input URL had characters that
   are meaningful to the shell (like '&amp;'), the download command would not
   work.

 - The only program that had 'make check' in the 'basic.mk' programs was
   MPFR. At that stage, we still haven't built our own compiler at this
   stage, this is not accurate.

 - The 'pyerfa' and 'extension-helpers' packages in Python need
   'setuptools_scm' on some systems. But until now, it was not in the list
   of their prerequisites.

With this commit, all the issues above have been corrected.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
SUMMARY: just house-cleaning, no need to do anything major in your
branch. Just update the copyright years in files that you have added.

Until now, the latest copyright years of the whole Maneage source code was
2022! As of this commit, we have already moved to 2023 for 5 months!
Furthermore, there were a few other minor issues that needed correction:

 - The URL to download input datasets wasn't quoted in 'initialize.mk' or
   the download script! As a result, when the input URL had characters that
   are meaningful to the shell (like '&amp;'), the download command would not
   work.

 - The only program that had 'make check' in the 'basic.mk' programs was
   MPFR. At that stage, we still haven't built our own compiler at this
   stage, this is not accurate.

 - The 'pyerfa' and 'extension-helpers' packages in Python need
   'setuptools_scm' on some systems. But until now, it was not in the list
   of their prerequisites.

With this commit, all the issues above have been corrected.
</pre>
</div>
</content>
</entry>
<entry>
<title>Added server authentication and FITS DATASUM for verficiation</title>
<updated>2022-09-02T17:45:31+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2022-08-25T15:02:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/project.git/commit/?id=43186705c89e99fd4dbf5549ad031d27d77dfe6f'/>
<id>43186705c89e99fd4dbf5549ad031d27d77dfe6f</id>
<content type='text'>
SUMMARY: Nothing special is necessary for your existing projects. This
commit just addds two new features (read the commit description for more):
  1. To provide a user and password to servers that need authentication
     before they allow downloading of proprietary data,
  2. To use the FITS Standard's DATASUM for file verification (for cases
     where the file is not static on the server, and is generated upon
     receiving your download request).

Until now, Maneage didn't have any infrastructure for databases that
require authentication (through a user or password, when calling
'wget'). Furthermore, when the downloaded file is automatically generated
by the server upon request, the server usually adds metadata (like file
date, or query number and etc) in the header. Therefore the simple SHA256
checksum of the file would differ on every download! This made it very hard
to verify if the data (not headers) are unchanged.

With this commit, both these problems have been addressed:

 - Server authentication: the 'reproduce/software/config/LOCAL.conf' now
   contains three new variables for this purpose. With them, you can give
   your username and password, along with the authentication method of the
   server. The comments on top of these three variables give a full
   description of their usage.

 - Verifying only the data in a file (ignoring the headers): The
   'reproduce/analysis/config/INPUTS.conf' now accepts two new optional
   variables for each input file using the FITS standard's DATASUM
   convention: 'INPUT-%-fitsdatasum' and 'INPUT-%-fitshdu'. If the SHA256
   isn't specified for a file, Maneage will use these to verify the
   file. With the latter, you specify the HDU of the data you want to
   verify and with the former you give the DATASUM value for that HDU. As
   the name suggests, this is only valid for FITS files. If we find other
   formats that support a similar behavior, we can add this feature for
   those formats also. This is also thoroughly discussed in the comments of
   'reproduce/analysis/config/INPUTS.conf'.

This commit was done with the help of Pedram Ashofte Ardakani, Sepideh
Eskandarlou and Mohammadreza Khellat.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
SUMMARY: Nothing special is necessary for your existing projects. This
commit just addds two new features (read the commit description for more):
  1. To provide a user and password to servers that need authentication
     before they allow downloading of proprietary data,
  2. To use the FITS Standard's DATASUM for file verification (for cases
     where the file is not static on the server, and is generated upon
     receiving your download request).

Until now, Maneage didn't have any infrastructure for databases that
require authentication (through a user or password, when calling
'wget'). Furthermore, when the downloaded file is automatically generated
by the server upon request, the server usually adds metadata (like file
date, or query number and etc) in the header. Therefore the simple SHA256
checksum of the file would differ on every download! This made it very hard
to verify if the data (not headers) are unchanged.

With this commit, both these problems have been addressed:

 - Server authentication: the 'reproduce/software/config/LOCAL.conf' now
   contains three new variables for this purpose. With them, you can give
   your username and password, along with the authentication method of the
   server. The comments on top of these three variables give a full
   description of their usage.

 - Verifying only the data in a file (ignoring the headers): The
   'reproduce/analysis/config/INPUTS.conf' now accepts two new optional
   variables for each input file using the FITS standard's DATASUM
   convention: 'INPUT-%-fitsdatasum' and 'INPUT-%-fitshdu'. If the SHA256
   isn't specified for a file, Maneage will use these to verify the
   file. With the latter, you specify the HDU of the data you want to
   verify and with the former you give the DATASUM value for that HDU. As
   the name suggests, this is only valid for FITS files. If we find other
   formats that support a similar behavior, we can add this feature for
   those formats also. This is also thoroughly discussed in the comments of
   'reproduce/analysis/config/INPUTS.conf'.

This commit was done with the help of Pedram Ashofte Ardakani, Sepideh
Eskandarlou and Mohammadreza Khellat.
</pre>
</div>
</content>
</entry>
<entry>
<title>Initialize: including *.conf files from the preparation phase</title>
<updated>2022-06-18T22:21:42+00:00</updated>
<author>
<name>Raul Infante-Sainz</name>
<email>infantesainz@gmail.com</email>
</author>
<published>2022-06-17T10:47:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/project.git/commit/?id=27ff6f7d57ebdd3d3051040b982c1976f990c6e1'/>
<id>27ff6f7d57ebdd3d3051040b982c1976f990c6e1</id>
<content type='text'>
Until now, when some configuration files were generated in the preparation
phase, only the auto-generated (in the preparation phase) Makefiles (with
the suffix '*.mk') were always included in 'initialize.mk'. As a
consequence, if there were any configuration files (with suffix '*.conf'),
they would not be automatically added, and it was necessary to manually
include them.

Since auto-generated configuration files are also one common output of the
preparation phase of a project, it is better to include them automatically.

With this commit, the '*.conf' configuration files generated in the
preparation phase are added by 'initialize.mk' automatically (if
necessary).

In the process, the comments in the final target of
'reproduce/analysis/make/prepare.mk' were updated to be more clear.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Until now, when some configuration files were generated in the preparation
phase, only the auto-generated (in the preparation phase) Makefiles (with
the suffix '*.mk') were always included in 'initialize.mk'. As a
consequence, if there were any configuration files (with suffix '*.conf'),
they would not be automatically added, and it was necessary to manually
include them.

Since auto-generated configuration files are also one common output of the
preparation phase of a project, it is better to include them automatically.

With this commit, the '*.conf' configuration files generated in the
preparation phase are added by 'initialize.mk' automatically (if
necessary).

In the process, the comments in the final target of
'reproduce/analysis/make/prepare.mk' were updated to be more clear.
</pre>
</div>
</content>
</entry>
<entry>
<title>IMPORTANT: download.mk removed, content moved to initialize.mk</title>
<updated>2022-06-10T23:06:37+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2022-06-10T22:43:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/project.git/commit/?id=c148beb5eb4553711f6c75e23b94d976c40212a7'/>
<id>c148beb5eb4553711f6c75e23b94d976c40212a7</id>
<content type='text'>
SUMMARY: no special action should be necessary; but its an important update
in low-level Maneage infra-structure (related with downloading and setting
input checksums).

Until now, we had a separate 'download.mk' as one of the default
sub-Makefiles that should have been loaded in all the 'top-*.mk' files
after 'initialize.mk'. This was due to historic reasons: until Commit
91799fe4b6d, we had to manually make some changes in 'download.mk' for
every input file we defined in 'INPUTS.mk' (which was very inconvenient,
and not easily possible for a large number of files!). But since Commit
91799fe4b6d, those manual changes are no longer necessary, and a normal
user will hardly ever need to touch the contents of 'download.mk' (which
also had one effective rule).

Furthermore, based on shared projects with Zohre Ghaffari and Sepideh
Eskandarlou (which involved a large number of large files), we recognized
that it is very inconvenient to download a file once, update its checksum,
and re-run Maneage (so the validation works). A robust solution was
necesary to let project authors download the data and automatically update
the checksum.

With this commit, to help in high-level project management in Maneage, the
single, and generic rule of 'download.mk' has been moved to
'initialize.mk', enabling us to fully remove this extra sub-Makefile from
Maneage's source.

Furthermore, with this commit, a usable solution to the automatic updating
of the checksum has also been implemented (which has been described in the
comments of 'INPUTS.conf'): the users can now set the checksum to
'--auto-replace--'. In this case, the download rule (now in
'initialize.mk') will automatically update that line of 'INPUTS.conf' and
add the checksum instead.

After './project make' is complete, when the user runs 'git diff', they can
see all the updated checksums in the source of their project and commit the
updated 'INPUTS.conf' into the source so this will not be necessary later.

Two other smaller issues have also been addressed in this commit:

 - There was an extra ',' in the call to 'filter-out' when we defined
   'prepare-dep' in 'reproduce/analysis/make/prepare.mk'. This would cause
   a crash (with Make complaining that there is no rule for target
   'initialize.mk,': notice the extra ','). With this commit, that extra
   ',' has been removed and the problem was solved.

 - The build recipe of Imfit (in 'reproduce/software/make/high-level.mk'),
   had two SPACE characters after '--no-openmp' which would make the
   reading hard. They have been updated to one SPACE.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
SUMMARY: no special action should be necessary; but its an important update
in low-level Maneage infra-structure (related with downloading and setting
input checksums).

Until now, we had a separate 'download.mk' as one of the default
sub-Makefiles that should have been loaded in all the 'top-*.mk' files
after 'initialize.mk'. This was due to historic reasons: until Commit
91799fe4b6d, we had to manually make some changes in 'download.mk' for
every input file we defined in 'INPUTS.mk' (which was very inconvenient,
and not easily possible for a large number of files!). But since Commit
91799fe4b6d, those manual changes are no longer necessary, and a normal
user will hardly ever need to touch the contents of 'download.mk' (which
also had one effective rule).

Furthermore, based on shared projects with Zohre Ghaffari and Sepideh
Eskandarlou (which involved a large number of large files), we recognized
that it is very inconvenient to download a file once, update its checksum,
and re-run Maneage (so the validation works). A robust solution was
necesary to let project authors download the data and automatically update
the checksum.

With this commit, to help in high-level project management in Maneage, the
single, and generic rule of 'download.mk' has been moved to
'initialize.mk', enabling us to fully remove this extra sub-Makefile from
Maneage's source.

Furthermore, with this commit, a usable solution to the automatic updating
of the checksum has also been implemented (which has been described in the
comments of 'INPUTS.conf'): the users can now set the checksum to
'--auto-replace--'. In this case, the download rule (now in
'initialize.mk') will automatically update that line of 'INPUTS.conf' and
add the checksum instead.

After './project make' is complete, when the user runs 'git diff', they can
see all the updated checksums in the source of their project and commit the
updated 'INPUTS.conf' into the source so this will not be necessary later.

Two other smaller issues have also been addressed in this commit:

 - There was an extra ',' in the call to 'filter-out' when we defined
   'prepare-dep' in 'reproduce/analysis/make/prepare.mk'. This would cause
   a crash (with Make complaining that there is no rule for target
   'initialize.mk,': notice the extra ','). With this commit, that extra
   ',' has been removed and the problem was solved.

 - The build recipe of Imfit (in 'reproduce/software/make/high-level.mk'),
   had two SPACE characters after '--no-openmp' which would make the
   reading hard. They have been updated to one SPACE.
</pre>
</div>
</content>
</entry>
<entry>
<title>Housekeeping: some portability issues fixed; four software updates</title>
<updated>2022-06-10T00:21:14+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2022-06-09T23:43:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/project.git/commit/?id=ab811d0952ac93ce608c81ab2cc44d67c7b02dbe'/>
<id>ab811d0952ac93ce608c81ab2cc44d67c7b02dbe</id>
<content type='text'>
Until now, there were several portability issues in Maneage:

 1. Maneage would crash on older operating systems (checked on Debian 6),
    where Wget didn't have the '--no-use-server-timestamps'.

 2. On a Linux kernel 2.6.32 (of the same Debian 6 above) some features in
    'util-linux' (like 'swapon' or 'libmount') wouldn't build and wouldn't
    let 'util-linux' complete. These features need root permissions to be
    useful, so the wouldn't be used in Maneage any way! But they wouldn't
    let Maneage get built

 3. The './project shell' command would still read the host's '~/.bashrc',
    letting the host environment leak-in to Maneage's interactive shell.

 4. The building of Flex 2.64 wouldn't complete due to a segmentation
    fault an Ubuntu, but NetPBM (which depends on Flex) would crash with a
    wrong usage of 'yyunput'. This had actually caused a non-update to
    Flex in a previous Maneage software update.

 5. The update Astrometry.net would assume SExtractor's executable name is
    'source-extractor'; causing a crash in usage. This forced the users to
    manually create a 'source-extractor' symbolic link in the '.local/bin'
    directory.

 6. The 'reproduce/software/shell/tarball-prepare.sh' script (that is used
    for making Maneage-standard tarballs) wouldn't accept option values
    with an '=' between the option name and value! It also didnt' print
    sufficiently informative messages and errors (for example it would say
    "skipping ..." (making the user think there is a problem!), but it was
    actually that the file already existed!

 7. The 'reproduce/analysis/make/prepare.mk' and
    'reproduce/analysis/make/verify.mk' Makefiles that needed to reject
    some of the 'makesrc' sub-Makefiles would simply substitute their names
    with nothing. But this would cause problems when the name is part of
    the name of another sub-Makefile.

 8. On the Debian 6 system mentioned above the raw 'df' command's output
    wasn't in the expected format; so Maneage would fail to properly detect
    the free space in the disk.

With these commit, all the issues above have been solved: for 1, A check
has been added to avoid using that option. For 2, those 'util-linux'
features have been disabled. For 3, the '--norc' and '--noprofile' options
have beed added to the call to Bash. For 4, see below. For 5, the symbolic
link is now automatically made with SExtractor. For 6, the option reading
components of that script have been fully re-written and more robust sanity
checks are also added, with more informative warnings. For 7, the 'subst'
function of Make was replaced with 'filter-out' and this fixed the
problem. For 8, 'df' is called with the '-P' option so it has a unified
format in all versions.

For 4, the versions of 'flex' and 'netpbm' have been updated. Since they
were the dependency of 'astrometrynet', that has also been updated. In the
process, we discovered that 'lzip' has a new version which claims to be
faster, so that is also updated.

       lzip            1.22     --&gt;   1.23
       astrometrynet   0.85     --&gt;   0.89
       flex            2.6.4    --&gt;   2.6.4-410-74a89fd
       netpbm          10.73.39 --&gt;   10.73.39

NetPBM needed some manual manipulation in its source (to remove the extra
line), so the necessary steps have been added to its build recipe in
'reproduce/software/make/high-level.mk'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Until now, there were several portability issues in Maneage:

 1. Maneage would crash on older operating systems (checked on Debian 6),
    where Wget didn't have the '--no-use-server-timestamps'.

 2. On a Linux kernel 2.6.32 (of the same Debian 6 above) some features in
    'util-linux' (like 'swapon' or 'libmount') wouldn't build and wouldn't
    let 'util-linux' complete. These features need root permissions to be
    useful, so the wouldn't be used in Maneage any way! But they wouldn't
    let Maneage get built

 3. The './project shell' command would still read the host's '~/.bashrc',
    letting the host environment leak-in to Maneage's interactive shell.

 4. The building of Flex 2.64 wouldn't complete due to a segmentation
    fault an Ubuntu, but NetPBM (which depends on Flex) would crash with a
    wrong usage of 'yyunput'. This had actually caused a non-update to
    Flex in a previous Maneage software update.

 5. The update Astrometry.net would assume SExtractor's executable name is
    'source-extractor'; causing a crash in usage. This forced the users to
    manually create a 'source-extractor' symbolic link in the '.local/bin'
    directory.

 6. The 'reproduce/software/shell/tarball-prepare.sh' script (that is used
    for making Maneage-standard tarballs) wouldn't accept option values
    with an '=' between the option name and value! It also didnt' print
    sufficiently informative messages and errors (for example it would say
    "skipping ..." (making the user think there is a problem!), but it was
    actually that the file already existed!

 7. The 'reproduce/analysis/make/prepare.mk' and
    'reproduce/analysis/make/verify.mk' Makefiles that needed to reject
    some of the 'makesrc' sub-Makefiles would simply substitute their names
    with nothing. But this would cause problems when the name is part of
    the name of another sub-Makefile.

 8. On the Debian 6 system mentioned above the raw 'df' command's output
    wasn't in the expected format; so Maneage would fail to properly detect
    the free space in the disk.

With these commit, all the issues above have been solved: for 1, A check
has been added to avoid using that option. For 2, those 'util-linux'
features have been disabled. For 3, the '--norc' and '--noprofile' options
have beed added to the call to Bash. For 4, see below. For 5, the symbolic
link is now automatically made with SExtractor. For 6, the option reading
components of that script have been fully re-written and more robust sanity
checks are also added, with more informative warnings. For 7, the 'subst'
function of Make was replaced with 'filter-out' and this fixed the
problem. For 8, 'df' is called with the '-P' option so it has a unified
format in all versions.

For 4, the versions of 'flex' and 'netpbm' have been updated. Since they
were the dependency of 'astrometrynet', that has also been updated. In the
process, we discovered that 'lzip' has a new version which claims to be
faster, so that is also updated.

       lzip            1.22     --&gt;   1.23
       astrometrynet   0.85     --&gt;   0.89
       flex            2.6.4    --&gt;   2.6.4-410-74a89fd
       netpbm          10.73.39 --&gt;   10.73.39

NetPBM needed some manual manipulation in its source (to remove the extra
line), so the necessary steps have been added to its build recipe in
'reproduce/software/make/high-level.mk'.
</pre>
</div>
</content>
</entry>
<entry>
<title>initialize.mk: Git call in variable works with LD_LIBRARY_PATH</title>
<updated>2022-05-09T23:46:37+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2022-05-09T23:46:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/project.git/commit/?id=4f376e9f27209fb5a69addcc56a37abe8fb8ef01'/>
<id>4f376e9f27209fb5a69addcc56a37abe8fb8ef01</id>
<content type='text'>
Until now, the '$(project-commit-hash)' Make variable of 'initialize.mk'
simply called 'git' to find the commit hash. However, due to one of the
recent software updates, we noticed that this command is no longer working
(and the project commit hash wasn't getting printed in the PDF)!  The
problem was that Maneage's Git, couldn't find the 'libiconv' library that
it was built with.

With this commit, the '$(shell' command that calls Git, first exports
'LD_LIBRARY_PATH' to Maneage's software build directory. As a result, the
Git command can work and will report the commit as a LaTeX macro to be used
in the paper. To avoid relying on PATH outside of Make recipes, we now also
directly call the Git executable with Maneage.

Some other minor issues have been found and fixed in this commit:

 - README-hacking.md: some minor edits and typo corrections.

 - initialize.mk: the '$(curdir)' variable is now used in several places
   that we were calling 'pwd'.

 - versions.conf: 'xlsxio-version' now included with other programs. Until
   now it was commented because GCC 11.1.0 had issues with it. However, GCC
   11.2.0 doesn't have a problem any more, so it has been returned to the
   list of all high-level programs.

 - xorg.mk: used same format to comment recipe lines as the other Makefiles
   (a '#' followed by a TAB).

 - preamble-pgfplots.tex: lines to comment for building an EPS figure with
   PGFPlots have been re-formatted to be more human-readable.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Until now, the '$(project-commit-hash)' Make variable of 'initialize.mk'
simply called 'git' to find the commit hash. However, due to one of the
recent software updates, we noticed that this command is no longer working
(and the project commit hash wasn't getting printed in the PDF)!  The
problem was that Maneage's Git, couldn't find the 'libiconv' library that
it was built with.

With this commit, the '$(shell' command that calls Git, first exports
'LD_LIBRARY_PATH' to Maneage's software build directory. As a result, the
Git command can work and will report the commit as a LaTeX macro to be used
in the paper. To avoid relying on PATH outside of Make recipes, we now also
directly call the Git executable with Maneage.

Some other minor issues have been found and fixed in this commit:

 - README-hacking.md: some minor edits and typo corrections.

 - initialize.mk: the '$(curdir)' variable is now used in several places
   that we were calling 'pwd'.

 - versions.conf: 'xlsxio-version' now included with other programs. Until
   now it was commented because GCC 11.1.0 had issues with it. However, GCC
   11.2.0 doesn't have a problem any more, so it has been returned to the
   list of all high-level programs.

 - xorg.mk: used same format to comment recipe lines as the other Makefiles
   (a '#' followed by a TAB).

 - preamble-pgfplots.tex: lines to comment for building an EPS figure with
   PGFPlots have been re-formatted to be more human-readable.
</pre>
</div>
</content>
</entry>
<entry>
<title>./project: make clean removes extra tex files in top source directory</title>
<updated>2022-05-08T10:00:07+00:00</updated>
<author>
<name>Pedram Ashofteh Ardakani</name>
<email>pedramardakani@pm.me</email>
</author>
<published>2022-05-03T19:41:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/project.git/commit/?id=f51b5e2e500dd6450a5a3425e85df78245fc5c5c'/>
<id>f51b5e2e500dd6450a5a3425e85df78245fc5c5c</id>
<content type='text'>
Until now, the './project make clean' command would only clean (remove) the
PDF file from the top source directory. However, if a user would run LaTeX
outside of Maneage, many extra latex output such as *.aux, *.log, *.synctex
and etc would be produced in the top source directory. These files can
interfere with './project make'.

With this commit, when './project make clean' is run, any possibly existing
LaTeX temporary files will also be deleted from the top source directory.

This problem was first reported by Matin Torkian.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Until now, the './project make clean' command would only clean (remove) the
PDF file from the top source directory. However, if a user would run LaTeX
outside of Maneage, many extra latex output such as *.aux, *.log, *.synctex
and etc would be produced in the top source directory. These files can
interfere with './project make'.

With this commit, when './project make clean' is run, any possibly existing
LaTeX temporary files will also be deleted from the top source directory.

This problem was first reported by Matin Torkian.
</pre>
</div>
</content>
</entry>
</feed>
