Newer
Older
diff --git a/scripts/functions b/scripts/functions
index 17384476..430c832d 100644
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
--- a/scripts/functions
+++ b/scripts/functions
@@ -720,6 +720,12 @@ CT_DoGetFile()
T="${CT_CONNECT_TIMEOUT}"
fi
+ if [ "${CT_COLLECT_SOURCES_FOR_NIXOS}" = "y" ]; then
+ echo "DoGetFile: ${url} -> ${dest}" >>"$out"
+ touch "${dest}"
+ return 0
+ fi
+
CT_DoLog DEBUG "Trying '${url}'"
if [ "${CT_DOWNLOAD_AGENT_WGET}" = "y" ]; then
if CT_DoExecLog ALL wget ${CT_DOWNLOAD_WGET_OPTIONS} \
@@ -782,6 +788,12 @@ CT_DoVerifyDigest()
CT_DoLog WARN "Not verifying '${file}': digest missing"
return 0
fi
+
+ if [ "${CT_COLLECT_SOURCES_FOR_NIXOS}" = "y" ]; then
+ echo "DoVerifyDigest: ${alg}, ${pkgdir}/chksum, ${file}" >>"$out"
+ return 0
+ fi
+
CT_DoLog EXTRA "Verifying ${alg^^} checksum for '${file}'"
chksum=`"${alg}sum" "${path}"`
chksum="${chksum%%[[:space:]]*}"
@@ -846,6 +858,11 @@ CT_DoVerifySignature()
local sigfile
local cat
+ if [ "${CT_COLLECT_SOURCES_FOR_NIXOS}" = "y" ]; then
+ echo "DoVerifySignature: ${path}, ${url}, ${format}" >>"$out"
+ return 0
+ fi
+
CT_DoLog EXTRA "Verifying detached signature for '${file}'"
case "${method}" in
packed)
@@ -1957,7 +1974,7 @@ CT_DoFetch()
elif [ "${src_devel}" = "y" ]; then
local unique_id
- if [ -z "${devel_revision}" -a "${CT_FORBID_DOWNLOAD}" = "y" ]; then
+ if [ -z "${devel_revision}" -a "${CT_FORBID_DOWNLOAD}" = "y" -a "${CT_COLLECT_SOURCES_FOR_NIXOS}" != "y" -a "${CT_USE_SOURCES_FROM_NIXOS}" != "y" ]; then
CT_Abort "${pkg_name}: cannot find most recent revisions with downloads prohibited"
fi
@@ -1970,7 +1987,14 @@ CT_DoFetch()
# this would override empty (default) values with "default branch name" and
# "most current revision", respectively.
- CT_GetVersion_${devel_vcs}
+ if [ "${CT_COLLECT_SOURCES_FOR_NIXOS}" = "y" ]; then
+ echo "CT_GetVersion_${devel_vcs}: url=${devel_url}, branch=${devel_branch}, revision=${devel_revision}" >>"$out"
+ unique_id=local
+ elif [ "${CT_USE_SOURCES_FROM_NIXOS}" = "y" ]; then
+ unique_id=local
+ else
+ CT_GetVersion_${devel_vcs}
+ fi
if [ -z "${unique_id}" ]; then
CT_Abort "${pkg_name}: ${devel_vcs} did not set unique ID for branch/revision"
fi
@@ -1986,6 +2010,12 @@ CT_DoFetch()
return 0
fi
+ if [ "${CT_USE_SOURCES_FROM_NIXOS}" = "y" -a -e "${CT_LOCAL_TARBALLS_DIR}/${basename}" ]; then
+ cp -aTH "${CT_LOCAL_TARBALLS_DIR}/${basename}/" "${basename}"
+ chmod -R u+w "${basename}"
+ return 0
+ fi
+
if [ "${CT_FORBID_DOWNLOAD}" = "y" ]; then
CT_DoLog WARN "Downloads forbidden, not trying ${devel_vcs} retrieval"
return 1
@@ -1994,7 +2024,12 @@ CT_DoFetch()
CT_DoLog EXTRA "Retrieving '${basename}' (${devel_vcs} ${devel_url} ${devel_branch} ${devel_revision})"
CT_MktempDir tmp_dir
CT_Pushd "${tmp_dir}"
- CT_Download_${devel_vcs}
+ if [ "${CT_COLLECT_SOURCES_FOR_NIXOS}" = "y" ]; then
+ echo "CT_Download_${devel_vcs}: ${devel_vcs} ${devel_url} ${devel_branch} ${devel_revision} ${pkg_name}" >>"$out"
+ mkdir "${pkg_name}"
+ else
+ CT_Download_${devel_vcs}
+ fi
# First setting above may not have determined the version (e.g. with Mercurial)
# Set the final, downloaded version.