<html>#2239: GetComponents --avoid-useless-downloads --propose-system-installs
<table style='border-spacing: 1ex 0pt; '>
<tr><td style='text-align:right'> Reporter:</td><td>Boud Roukema</td></tr>
<tr><td style='text-align:right'>   Status:</td><td>new</td></tr>
<tr><td style='text-align:right'>Milestone:</td><td></td></tr>
<tr><td style='text-align:right'>  Version:</td><td></td></tr>
<tr><td style='text-align:right'>     Type:</td><td>proposal</td></tr>
<tr><td style='text-align:right'> Priority:</td><td>major</td></tr>
<tr><td style='text-align:right'>Component:</td><td>GetComponents</td></tr>
</table>

<p><strong>WISHLIST:</strong> GetComponents --avoid-useless-downloads --propose-system-installs</p>
<p><strong>AIMS:</strong> (1) increase likelihood of having<br />
wider-software-community-verified versions ("native" versions) of<br />
external libraries; (2) reduce download volume by about 40 percent or<br />
so; (3) reduce compile time;</p>
<p><em>ORIGINAL POST:</em><br />
<a href="http://cactuscode.org/pipermail/users/2018-September/003634.html" rel="nofollow" class="ap-connect-link">http://cactuscode.org/pipermail/users/2018-September/003634.html</a></p>
<p><strong>DESCRIPTION:</strong><br />
In my recent (Sept 2018) download of Cactus, out of about 500 Mb total<br />
download, I have about 200Mb of downloaded external library source<br />
packages, most of which either (i) are superfluous because they already<br />
exist in my OS (Debian GNU/Linux), or (ii) <em>should</em> be superfluous,<br />
since they can more safely be installed using the<br />
apt/apt-get/aptitude/dpkg package management system. This proposal<br />
is to add an OS-dependent option to <code>GetComponents</code> that (i) checks if the<br />
OS is a debian derivative and if yes, then instead of downloading the<br />
source packages, extracts necessary versioning metadata from the OS,<br />
inserts this in the appropriate place in the Cactus system for defining<br />
-I include and -L library shell or makefile variables as appropriate;<br />
and/or (ii) checks if the OS is a debian derivative and if yes, proposes<br />
a list of system packages to install as root user that would avoid<br />
having to download and compile these. Proposed names for the options<br />
are (a) <code>--avoid-useless-downloads</code> and (b) <code>--propose-system-installs</code>.</p>
<p><strong>(1) PREFER NATIVE software libraries</strong></p>
<p>Even if <code>--avoid-useless-downloads</code> is not implemented,<br />
the point of <code>--propose-system-installs</code> is the overall software<br />
ecology. The Debian infrastructure will tend to lead to better
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2239/getcomponents-avoid-useless-downloads'>https://bitbucket.org/einsteintoolkit/tickets/issues/2239/getcomponents-avoid-useless-downloads</a></p>
</html>