add build-stamp' configuration and fix repo-time-stamp/stamp'

The "repo-time-stamp" collection used to be omitted from a
release, but to keep things simpler, it's staying in the
"drracket" (and therefore "main-distribution") package. The
build process installs an empty `build-stamp' value (by default)
into a release build, or it installs a useful stamp for
a non-release build.

original commit: 2e067ab28c2b331713557feb880d8adf026a1aec
This commit is contained in:
Matthew Flatt 2013-07-26 17:39:15 -06:00
parent 47017cb8c7
commit ea03cf531e
4 changed files with 25 additions and 6 deletions

View File

@ -121,6 +121,7 @@
[(#:dist-catalogs) (and (list? val) (andmap string? val))]
[(#:dist-base-url) (string? val)]
[(#:install-name) (string? val)]
[(#:build-stamp) (string? val)]
[(#:max-vm) (real? val)]
[(#:server) (simple-string? val)]
[(#:host) (simple-string? val)]

View File

@ -146,6 +146,11 @@ Site-configuration keywords (where <string*> means no spaces, etc.):
where "" keeps the name as the Racket version; the default is
"snapshot" if the value of `#:release?' is false, "" otherwise.
#:build-stamp <string> --- a string representing a build stamp,
recorded in installes; the default is from the `BUILD_STAMP'
makefile variable or generated if the value of `#:release?' is
false, "" otherwise.
#:dist-name <string> --- the distribution name; defaults to the
`DIST_NAME' makefile variable

View File

@ -9,7 +9,8 @@
(only-in "config.rkt"
current-mode
site-config?
site-config-tag site-config-options site-config-content)
site-config-tag site-config-options site-config-content
current-stamp)
"url-options.rkt"
"display-time.rkt"
"readme.rkt")
@ -257,6 +258,9 @@
(define install-name (get-opt c '#:install-name (if release?
""
snapshot-install-name)))
(define build-stamp (get-opt c '#:build-stamp (if release?
""
(current-stamp))))
(~a " SERVER=" server
" PKGS=" (q pkgs)
" DOC_SEARCH=" (q doc-search)
@ -267,6 +271,7 @@
" DIST_SUFFIX=" (q dist-suffix)
" DIST_CATALOGS_q=" (qq dist-catalogs kind)
" INSTALL_NAME=" (q install-name)
" BUILD_STAMP=" (q build-stamp)
" RELEASE_MODE=" (if release? "--release" (q ""))
" SOURCE_MODE=" (if source-runtime? "--source" (q ""))
" PKG_SOURCE_MODE=" (if source-pkgs?
@ -343,7 +348,10 @@
'#:pkgs (string-split default-pkgs)
'#:install-name (if (get-opt c '#:release? default-release?)
""
snapshot-install-name))))))
snapshot-install-name)
'#:build-stamp (if (get-opt c '#:release? default-release?)
""
(current-stamp)))))))
(make-directory* (build-path "build" "readmes"))
(define readme (make-temporary-file
"README-~a"

View File

@ -6,13 +6,15 @@
"url-options.rkt")
(define-values (dest-config-file config-file config-mode
install-name
install-name build-stamp
default-doc-search default-catalogs)
(command-line
#:args
(dest-config-file config-file config-mode install-name doc-search . catalog)
(dest-config-file config-file config-mode
install-name build-stamp
doc-search . catalog)
(values dest-config-file config-file config-mode
install-name
install-name build-stamp
doc-search catalog)))
(define config (if (equal? config-file "")
@ -42,7 +44,10 @@
c))))]
[table (if (equal? install-name "")
table
(hash-set table 'installation-name install-name))])
(hash-set table 'installation-name install-name))]
[table (if (equal? build-stamp "")
table
(hash-set table 'build-stamp build-stamp))])
(unless (equal? table orig)
(make-directory* (path-only dest-config-file))
(call-with-output-file dest-config-file