[
https://issues.apache.org/jira/browse/BUILDR-287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12721348#action_12721348
]
Assaf Arkin commented on BUILDR-287:
------------------------------------
Storing a partially downloaded file that should not be used until fully
downloaded and checksum verified, and being able to easily discard left over
files (from aborted downloads) -- sounds to me exactly like what a temporary
directory is for. I don't understand why we'll want to change this behavior.
If the issue is which directory to use because /tmp runs full, why not use a
different directory? Just change TMPDIR, TMP or TEMP (Ruby will use them in
that order) to whichever directory can hold all the temporary files for that
build. If you want to, you can locate it inside your local repository.
As a side note, if you're running a build farm you certainly do not want to use
/tmp for security reasons: give each account their own temporary directory. I
think OS X does the right thing setting TMPDIR for you, mine happens to be
/var/folders/SB/SBuTKVyzEaSrTCAXjJtEZk+++TI/-Tmp-, and a different directory
exists for OS services.
> Optionally use destination folder as temporary storage during download
> (instead of default TMPDIR)
> --------------------------------------------------------------------------------------------------
>
> Key: BUILDR-287
> URL: https://issues.apache.org/jira/browse/BUILDR-287
> Project: Buildr
> Issue Type: New Feature
> Components: Dependency management
> Affects Versions: 1.3.4
> Reporter: Ittay Dror
> Fix For: 1.3.5
>
>
> when downloading artifacts, BuildR first downloads to a temporary file in the
> temporary directory (/tmp) and then moves the file to the repository location
> (Generic#download in transports.rb).
> In many unix systems, /tmp is a separate mount from /. This creates two
> drawbacks:
> 1. if there is not enough space in /tmp, the download fails (this happens to
> us many times, and during a nightly build)
> 2. moving files between partitions is actually copy and delete
> If instead, BuildR will download the file to the directory in the repository
> and then rename to the actual file name, these problems will be solved.
> The fix is to use
> Tempfile.open File.basename(target), File.dirname(target)
> When creating the temporary file for download
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.