<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/tool/downloader.rb, branch v3_3_11</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>tool/downloader.rb: Stop caching already existing files</title>
<updated>2025-05-01T07:10:59+00:00</updated>
<author>
<name>Yuta Saito</name>
<email>kateinoigakukun@gmail.com</email>
</author>
<published>2025-02-12T11:43:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ab1535553b9e4806d95ed217a95188ab971ea8df'/>
<id>ab1535553b9e4806d95ed217a95188ab971ea8df</id>
<content type='text'>
Previously, the script was caching any file already present in the
destination directory, regardless of its origin. This caused issues
when the directory contained files copied from external sources like
`autoreconf --install`.

For example:
1. `./autogen.sh --install` copies `config.guess` and `config.sub`
   from the system to `./tool`.
2. `ruby tool/downloader.rb -d tool -e gnu config.guess config.sub`
   treats those files as if they were downloaded and caches them.
3. Removing the files: `rm tool/config.guess tool/config.sub`.
4. Running the downloader again, it mistakenly restores the cached
   files instead of downloading fresh versions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, the script was caching any file already present in the
destination directory, regardless of its origin. This caused issues
when the directory contained files copied from external sources like
`autoreconf --install`.

For example:
1. `./autogen.sh --install` copies `config.guess` and `config.sub`
   from the system to `./tool`.
2. `ruby tool/downloader.rb -d tool -e gnu config.guess config.sub`
   treats those files as if they were downloaded and caches them.
3. Removing the files: `rm tool/config.guess tool/config.sub`.
4. Running the downloader again, it mistakenly restores the cached
   files instead of downloading fresh versions.
</pre>
</div>
</content>
</entry>
<entry>
<title>downloader.rb: unlink broken symlink before caching to fix ENOENT</title>
<updated>2023-07-27T21:09:08+00:00</updated>
<author>
<name>Alan Wu</name>
<email>XrXr@users.noreply.github.com</email>
</author>
<published>2023-07-27T21:09:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=83f9d80c0b0b7752e490abb45145073d8d0e656d'/>
<id>83f9d80c0b0b7752e490abb45145073d8d0e656d</id>
<content type='text'>
On GitHub CI, the downloader's cache is shared across different jobs.
For some systems, the cached config.guess ends up being a symlink to
/usr/share/autoconf/build-aux/config.guess and containers that don't
have that file end up consuming the cache anyways, leading to ENOENT
when trying to cache the downloaded file.

This error happened on forks:
 - https://github.com/XrXr/ruby/actions/runs/5675262636/job/15380232344
 - https://github.com/peterzhu2118/ruby/actions/runs/5684765421/job/15408188728</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On GitHub CI, the downloader's cache is shared across different jobs.
For some systems, the cached config.guess ends up being a symlink to
/usr/share/autoconf/build-aux/config.guess and containers that don't
have that file end up consuming the cache anyways, leading to ENOENT
when trying to cache the downloaded file.

This error happened on forks:
 - https://github.com/XrXr/ruby/actions/runs/5675262636/job/15380232344
 - https://github.com/peterzhu2118/ruby/actions/runs/5684765421/job/15408188728</pre>
</div>
</content>
</entry>
<entry>
<title>downloader.rb: Select less components path</title>
<updated>2022-12-02T17:03:23+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2022-12-02T16:37:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c2671fa0513c49c874810677f347d727c4ed4502'/>
<id>c2671fa0513c49c874810677f347d727c4ed4502</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>downloader.rb: Fix link to absolute cache path</title>
<updated>2022-12-02T16:28:34+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2022-12-02T16:28:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e558c374b7975f9923228cdf325f767eef97a725'/>
<id>e558c374b7975f9923228cdf325f767eef97a725</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Downloader: Define long option aliases</title>
<updated>2022-09-18T16:09:47+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2022-09-17T13:51:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=cc533cb607d9d96356c12b880d0871a3b24f35e9'/>
<id>cc533cb607d9d96356c12b880d0871a3b24f35e9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Downloader: Define per-class command line options</title>
<updated>2022-09-18T16:09:47+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2022-09-17T13:48:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a0b0991eed5b202b61323496560d8a803fddab02'/>
<id>a0b0991eed5b202b61323496560d8a803fddab02</id>
<content type='text'>
Move `Downloader::Unicode` specific options, and parse options after
the downloader specificier.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move `Downloader::Unicode` specific options, and parse options after
the downloader specificier.
</pre>
</div>
</content>
</entry>
<entry>
<title>Downloader: retry when RFC 2616 noncompliant dates [ci skip]</title>
<updated>2021-10-28T08:42:36+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2021-10-28T08:42:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e76e1d3ce4bf65b3c7f56e09dd5f51b79538df18'/>
<id>e76e1d3ce4bf65b3c7f56e09dd5f51b79538df18</id>
<content type='text'>
zlib.net rarely returns the current time in RFC 2616 noncompliant
format in the response header, and the checksum does not match in
that case (maybe creating the tarball on the fly?).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
zlib.net rarely returns the current time in RFC 2616 noncompliant
format in the response header, and the checksum does not match in
that case (maybe creating the tarball on the fly?).
</pre>
</div>
</content>
</entry>
<entry>
<title>Downloader: accept some RFC 2616 noncompliant dates</title>
<updated>2021-09-12T16:48:43+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2021-09-12T16:08:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c8a1e57af0608c294c5b94f9d158b3d34b94ebb2'/>
<id>c8a1e57af0608c294c5b94f9d158b3d34b94ebb2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Increase the # of downloader.rb's retry attempts</title>
<updated>2020-11-23T08:06:51+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2020-11-23T08:06:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=53e352fd718cd2cae6d77298e6e92736dddcfeeb'/>
<id>53e352fd718cd2cae6d77298e6e92736dddcfeeb</id>
<content type='text'>
Apparently 9 was not enough either.
https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel_zlinux/ruby-master/log/20201123T063303Z.fail.html.gz
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Apparently 9 was not enough either.
https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel_zlinux/ruby-master/log/20201123T063303Z.fail.html.gz
</pre>
</div>
</content>
</entry>
<entry>
<title>Try to fix download error</title>
<updated>2020-11-20T05:18:14+00:00</updated>
<author>
<name>Kazuhiro NISHIYAMA</name>
<email>zn@mbf.nifty.com</email>
</author>
<published>2020-11-20T04:11:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4b899f91647b7da1174492f891de3d6ee8128458'/>
<id>4b899f91647b7da1174492f891de3d6ee8128458</id>
<content type='text'>
https://github.com/ruby/ruby/runs/1428320660?check_suite_focus=true#step:9:10
```
tool/downloader.rb:243:in `rescue in download': failed to download config.guess (RuntimeError)
OpenURI::HTTPError: 403 Forbidden: https://cdn.jsdelivr.net/gh/gcc-mirror/gcc@master/config.guess
```
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/ruby/runs/1428320660?check_suite_focus=true#step:9:10
```
tool/downloader.rb:243:in `rescue in download': failed to download config.guess (RuntimeError)
OpenURI::HTTPError: 403 Forbidden: https://cdn.jsdelivr.net/gh/gcc-mirror/gcc@master/config.guess
```
</pre>
</div>
</content>
</entry>
</feed>
