Switched release script to use zip instead of tgz.
diff --git a/doc/latest_release.txt b/doc/latest_release.txt
--- a/doc/latest_release.txt
+++ b/doc/latest_release.txt
@@ -1,18 +1,6 @@
-Fixed the "Discover" page to draw lines for rebased versions.
+Fixed bug on the "Discover" page that caused lines to be drawn incorrectly
+in some cases for graphs with rebased versions.
-Added preliminary support for file diffs on the "Edit" page.
-It needs layout / CSS cleanup but it works.
+Use .zip instead of .tgz for source release.
-Added <<<ArchiveVersion>>> macro to print the 16 digit hex version
-of the current archive.
-Added <<<ArchiveUri>>> macro to print a link to the archive SSK
-that the current wiki version was loaded from.
-
-These macros where added so that people viewing dumped wiki
-freesites can tell which version / uri the wiki was
-dumped from.
-
-Release notes for previous version:
-USK@kRM~jJVREwnN2qnA8R0Vt8HmpfRzBZ0j4rHC2cQ-0hw,2xcoQVdQLyqfTpF2DpkdUIbHFCeL4W~2X1phUYymnhM,AQACAAE/jfniki_releases/2/
-
diff --git a/readme.txt b/readme.txt
--- a/readme.txt
+++ b/readme.txt
@@ -1,4 +1,4 @@
-20110605
+20110611
djk@isFiaD04zgAgnrEC5XJt1i4IE7AkNPqhBG5bONi6Yks
WARNING:
@@ -121,7 +121,9 @@ IDEA: Freetalk vs Freenet interop
Hmmm... not sure if people would use this feature because of the correlation of ids.
---
Fixed bugs:
-8cfb2f3e7c38 BUG: Default FCP port wrong for CLI client. [requested by a real user]
+238c7dcc5ae3: BUG: incorrect drawing of rebased changes on discover page (since b963650876a7).
+ [The plausable commit order code was just wrong. Fixed it I hope.]
+8cfb2f3e7c38: BUG: Default FCP port wrong for CLI client. [requested by a real user]
[The default port is set to 9481 now and can be set via Java System properties. See ./script/wa.sh]
710d700bc7a1: BUG: Header links to discussion pages. [requested by a real user]
2ce3a4499a2c: BUG: No way to create an empty wiki from the UI. [requested by a real user]
diff --git a/release/cut_release.py b/release/cut_release.py
--- a/release/cut_release.py
+++ b/release/cut_release.py
@@ -25,8 +25,8 @@
# It is brittle and not fully debugged.
# It assumes you have hg infocalypse installed and configured.
#
-# BUG: ANONYMITY ISSUE: This script currently leaks the *nix user id
-# into the inserted .tgz and .jar files.
+# POSSIBLE BUG: ANONYMITY ISSUE: This script may leak the *nix user id into the .jar file.
+# Need to audit.
# DO NOT RUN IT if this concerns you.
#
import os
@@ -43,6 +43,10 @@ from minimalfms import get_connection, s
############################################################
+# For testing this script.
+#JUST_STAGE = True
+JUST_STAGE = False
+
# CAUTION: This directory is recursively deleted!
STAGING_DIR = '/tmp/staging'
@@ -63,11 +67,11 @@ PUBLIC_SITE = "USK@kRM~jJVREwnN2qnA8R0Vt
SITE_NAME
############################################################
-# Indexes of refereneced USK sites
+# Indexes of referenced USK sites
FREENET_DOC_WIKI_IDX = 40
FNIKI_IDX = 84
-REPO_IDX = 17
+REPO_IDX = 18
############################################################
@@ -82,6 +86,15 @@ FMS_MESSAGE_TEMPLATE = os.path.abspath(o
############################################################
+def zip_source(staging_dir, source_dir, zip_file_name):
+ subprocess.check_call(['/usr/bin/zip',
+ '-r',
+ '-9', # best compression
+ zip_file_name,
+ source_dir],
+ # LATER: Better way to supress full path in zip?
+ cwd=staging_dir)
+
def stage_release():
# LATER: check for uncommitted changes
ui_ = ui.ui()
@@ -93,10 +106,10 @@ def stage_release():
head = heads[0]
jar_name = "jfniki.%s.jar" % head
- tgz_name = "jfniki.%s.tgz" % head
+ zip_name = "jfniki.%s.zip" % head
export_dir_name = "jfniki.%s" % head
- tgz_file_name = "%s/%s" % (STAGING_DIR, tgz_name)
+ zip_file_name = "%s/%s" % (STAGING_DIR, zip_name)
jar_file_name = "%s/%s" % (STAGING_DIR, jar_name)
# scrub staging directory
@@ -120,17 +133,8 @@ def stage_release():
# remove origin tarballs to save space
shutil.rmtree("%s/alien/origins/" % dest)
- # tar up source
- tgz_file = tarfile.open(tgz_file_name, 'w:gz')
-
- #def reset(tarinfo):
- # tarinfo.uid = tarinfo.gid = 0
- # tarinfo.uname = tarinfo.gname = "root"
- # return tarinfo
- # LATER: Use line after upgrading python. Keeps uid, gid, uname out of tar.
- # tgz_file.add("%s/%s" % (STAGING_DIR, export_dir_name), arcname=export_dir_name, filter=reset) # python 2.7
- tgz_file.add("%s/%s" % (STAGING_DIR, export_dir_name), arcname=export_dir_name)
- tgz_file.close()
+ # zip up the source.
+ zip_source(STAGING_DIR, export_dir_name, zip_file_name)
# cp freenet.jar required for build
os.makedirs("%s/%s/%s" % (STAGING_DIR, export_dir_name, "alien/libs"))
@@ -148,9 +152,9 @@ def stage_release():
print
print "SUCCESSFULLY STAGED:"
print jar_file_name
- print tgz_file_name
+ print zip_file_name
print
- return (head, jar_file_name, tgz_file_name)
+ return (head, jar_file_name, zip_file_name)
def simple_templating(text, substitutions):
@@ -188,7 +192,7 @@ def html_escape(text):
############################################################
-def update_html(head, jar_chk, tgz_chk):
+def update_html(head, jar_chk, zip_chk):
ui_ = ui.ui()
repo = hg.repository(ui_, REPO_DIR)
site_usk = PUBLIC_SITE % (latest_site_index(repo) + 1)
@@ -196,7 +200,7 @@ def update_html(head, jar_chk, tgz_chk):
html = simple_templating(open(INDEX_HTML_TEMPLATE).read(),
{'__HEAD__':head,
'__JAR_CHK__': jar_chk,
- '__SRC_CHK__': tgz_chk,
+ '__SRC_CHK__': zip_chk,
'__RELEASE_NOTES__' : html_escape(open(RELEASE_NOTES).read()),
'__SITE_USK__': site_usk,
'__INDEX_FDW__': FREENET_DOC_WIKI_IDX,
@@ -240,14 +244,14 @@ def insert_freesite():
# LATER: Do better. Parse request URI from output.
return PUBLIC_SITE % target_index, target_index
-def send_fms_notification(site_uri, target_index, head, jar_chk, tgz_chk):
+def send_fms_notification(site_uri, target_index, head, jar_chk, zip_chk):
connection = get_connection(FMS_HOST, FMS_PORT, FMS_ID)
msg = simple_templating(open(FMS_MESSAGE_TEMPLATE).read(),
{'__HEAD__':head,
'__JAR_CHK__': jar_chk,
- '__SRC_CHK__': tgz_chk,
+ '__SRC_CHK__': zip_chk,
'__SITE_USK__' : site_uri,
'__RELEASE_NOTES__' : open(RELEASE_NOTES).read(),
})
@@ -270,11 +274,15 @@ def release():
print
print "------------------------------------------------------------"
- head, jar_file, tgz_file = stage_release()
- jar_chk, tgz_chk = insert_files(FCP_HOST, FCP_PORT, [jar_file, tgz_file])
- update_html(head, jar_chk, tgz_chk)
+ head, jar_file, zip_file = stage_release()
+
+ if JUST_STAGE:
+ return
+
+ jar_chk, zip_chk = insert_files(FCP_HOST, FCP_PORT, [jar_file, zip_file])
+ update_html(head, jar_chk, zip_chk)
site_uri, target_index = insert_freesite()
- send_fms_notification(site_uri, target_index, head, jar_chk, tgz_chk)
+ send_fms_notification(site_uri, target_index, head, jar_chk, zip_chk)
print
print "Success!"