sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.34k stars 452 forks source link

Put more files under revision control. #9433

Closed jhpalmieri closed 13 years ago

jhpalmieri commented 14 years ago

Put the text files in $SAGE_ROOT, and also the text files in spkg, under revision control. (See the discussion at the end of #9351.)

Here are the instructions:


Then from $SAGE_ROOT, run the attached script attachment: 9433_hg_script.sh to create the Mercurial repository.


Testing: see http://sage.math.washington.edu/home/release/sage-4.7.alpha0/

CC: @williamstein @dandrake @kcrisman @nexttime

Component: distribution

Author: John Palmieri

Reviewer: Leif Leonhardy, Volker Braun, Jeroen Demeyer

Merged: sage-4.7.alpha0

Issue created by migration from https://trac.sagemath.org/ticket/9433

kcrisman commented 13 years ago
comment:82

Dan, you have to touch the Cython include file and then do ./sage -b to build the dependencies - see #9808 for details. Or you could do ./sage -ba and wait a long time.

jhpalmieri commented 13 years ago
comment:86

I just added "VERSION.txt" to the .hgignore file, for compatibility with #9434.

vbraun commented 13 years ago

Attachment: install.2.gz

Updated spkg/install

vbraun commented 13 years ago

Updated spkg/standard/deps

vbraun commented 13 years ago
comment:87

Attachment: deps.2.gz

After some rediffing I built it successfully on top of Sage-4.6.1.rc1 (identical to the Sage-4.6.1 release) with the following updated files:

I've changed the main ticket documentation accordingly.

For reference, here is a list of files in the root repository:

[vbraun@volker-two sage-4.6.1.vb2]$ hg st --all | grep -v '^I'
C .hgignore
C .hgtags
C COPYING.txt
C Makefile
C README.txt
C ipython/ipy_profile_sh.py
C ipython/ipy_user_conf.py
C ipython/ipythonrc
C ipython/ipythonrc-math
C ipython/ipythonrc-numeric
C ipython/ipythonrc-physics
C ipython/ipythonrc-pysh
C ipython/ipythonrc-scipy
C ipython/ipythonrc-tutorial
C sage
C spkg/README.txt
C spkg/gen_html
C spkg/install
C spkg/pipestatus
C spkg/root-spkg-install
C spkg/standard/README.txt
C spkg/standard/deps
C spkg/standard/libdist_filelist
C spkg/standard/newest_version

Really, any kind of root repository would be better than the caveman technology we have in place right now. I read through all the scripts and they do make sense to me. I built my private release using sage -sdist <version> and it compiled fine. You guys put a lot of effort into this ticket to make sure that nothing breaks, and I think it really is the time to integrate this with Sage.

Positive review.

Jeroen, can you plug this into 4.6.2.alpha as soon as possible to give it as much exposure as possible?

vbraun commented 13 years ago

Changed reviewer from Leif Leonhardy to Leif Leonhardy, Volker Braun

vbraun commented 13 years ago

Description changed:

--- 
+++ 
@@ -1,23 +1,13 @@
-Put the text files in $SAGE_ROOT, and also the text files in spkg, under revision control.  (See the discussion at the end of #9351.)
+Put the text files in `$SAGE_ROOT`, and also the text files in spkg, under revision control.  (See the discussion at the end of #9351.)

 Here are the instructions:

-- apply the patches trac_9433-sage-repo.2.patch and trac_9433-scripts.v5.patch
-- move the attached file "hgignore" to SAGE_ROOT/.hgignore (note that this is a *new* file)
-- move the attached file "root-spkg-install.v2" to SAGE_ROOT/spkg/root-spkg-install (note that this is a *new* file)
-- move the attached file "install" to SAGE_ROOT/spkg/install
-- move the attached file "deps" to SAGE_ROOT/spkg/standard/deps
+- apply the patches `trac_9433-sage-repo.2.patch` and `trac_9433-scripts.v5.2.patch`
+- move the attached file `hgignore` to `$SAGE_ROOT/.hgignore` (note that this is a *new* file)
+- move the attached file `root-spkg-install.v2` to `$SAGE_ROOT/spkg/root-spkg-install` (note that this is a *new* file)
+- move the attached file `install.2` to `$SAGE_ROOT/spkg/install`
+- move the attached file `deps.2` to `$SAGE_ROOT/spkg/standard/deps`

-Then **from $SAGE_ROOT**, run the attached script "hg_script" to create the Mercurial repository.
+Then **from $SAGE_ROOT**, run the attached script `hg_script` to create the Mercurial repository.

-To test upgrading, try

-```
-./sage -upgrade http://sage.math.washington.edu/home/palmieri/misc/9433/sage-4.6.1.9433.alpha0/
-```
-You can then try
-
-```
-./sage -upgrade http://sage.math.washington.edu/home/palmieri/misc/9433/sage-4.6.1.9433.alpha1/
-```
-to test an upgrade which changes an existing root repo: it is supposed to upgrade without error, changing just the beginning of the file SAGE_ROOT/README.txt.
jdemeyer commented 13 years ago
comment:88

Why do we need a sage_root.spkg? I don't see a reason for a "root repo" to ever exist in tarball form.

jdemeyer commented 13 years ago

Description changed:

--- 
+++ 
@@ -2,12 +2,11 @@

 Here are the instructions:

-- apply the patches `trac_9433-sage-repo.2.patch` and `trac_9433-scripts.v5.2.patch`
-- move the attached file `hgignore` to `$SAGE_ROOT/.hgignore` (note that this is a *new* file)
-- move the attached file `root-spkg-install.v2` to `$SAGE_ROOT/spkg/root-spkg-install` (note that this is a *new* file)
-- move the attached file `install.2` to `$SAGE_ROOT/spkg/install`
-- move the attached file `deps.2` to `$SAGE_ROOT/spkg/standard/deps`
+- apply the patches [attachment: trac_9433-sage-repo.2.patch](https://github.com/sagemath/sage-prod/files/10649949/trac_9433-sage-repo.2.patch.gz) and [attachment: trac_9433-scripts.v5.2.patch](https://github.com/sagemath/sage-prod/files/10649961/trac_9433-scripts.v5.2.patch.gz)
+- move the attached file [attachment: hgignore](https://github.com/sagemath/sage-prod/files/10649969/hgignore.gz) to `$SAGE_ROOT/.hgignore` (note that this is a *new* file)
+- move the attached file [attachment: root-spkg-install.v2](https://github.com/sagemath/sage-prod/files/10649954/root-spkg-install.v2.gz) to `$SAGE_ROOT/spkg/root-spkg-install` (note that this is a *new* file)
+- apply [attachment: install.2.patch](https://github.com/sagemath/sage/files/ticket9433/install.2.patch.gz) to `$SAGE_ROOT/spkg/install`
+- apply [attachment: deps.2.patch](https://github.com/sagemath/sage/files/ticket9433/deps.2.patch.gz) to `$SAGE_ROOT/spkg/standard/deps`

-Then **from $SAGE_ROOT**, run the attached script `hg_script` to create the Mercurial repository.
+Then **from $SAGE_ROOT**, run the attached script [attachment: hg_script](https://github.com/sagemath/sage-prod/files/10649945/hg_script.gz) to create the Mercurial repository.

-
jdemeyer commented 13 years ago

Attachment: 9433_install.diff.gz

jdemeyer commented 13 years ago

Description changed:

--- 
+++ 
@@ -5,8 +5,8 @@
 - apply the patches [attachment: trac_9433-sage-repo.2.patch](https://github.com/sagemath/sage-prod/files/10649949/trac_9433-sage-repo.2.patch.gz) and [attachment: trac_9433-scripts.v5.2.patch](https://github.com/sagemath/sage-prod/files/10649961/trac_9433-scripts.v5.2.patch.gz)
 - move the attached file [attachment: hgignore](https://github.com/sagemath/sage-prod/files/10649969/hgignore.gz) to `$SAGE_ROOT/.hgignore` (note that this is a *new* file)
 - move the attached file [attachment: root-spkg-install.v2](https://github.com/sagemath/sage-prod/files/10649954/root-spkg-install.v2.gz) to `$SAGE_ROOT/spkg/root-spkg-install` (note that this is a *new* file)
-- apply [attachment: install.2.patch](https://github.com/sagemath/sage/files/ticket9433/install.2.patch.gz) to `$SAGE_ROOT/spkg/install`
-- apply [attachment: deps.2.patch](https://github.com/sagemath/sage/files/ticket9433/deps.2.patch.gz) to `$SAGE_ROOT/spkg/standard/deps`
+- apply [attachment: 9433_install.diff](https://github.com/sagemath/sage-prod/files/10649960/9433_install.diff.gz) to `$SAGE_ROOT/spkg/install`
+- apply [attachment: 9433_deps.diff](https://github.com/sagemath/sage-prod/files/10649966/9433_deps.diff.gz) to `$SAGE_ROOT/spkg/standard/deps`

 Then **from $SAGE_ROOT**, run the attached script [attachment: hg_script](https://github.com/sagemath/sage-prod/files/10649945/hg_script.gz) to create the Mercurial repository.
jdemeyer commented 13 years ago
comment:91

If we do this, we really should also take care of the following duplicate files (files both in sage_scripts and in another repo):

README.txt
spkg/install
spkg/base/sage-spkg
spkg/base/sage-env
spkg/base/sage-make_relative
spkg/base/sage-check-64 (added by the not-yet-merged #10303)

Also, I think we should get rid of the spkg/base repo and merge it with the new root repo.

vbraun commented 13 years ago
comment:92

Replying to @jdemeyer:

Why do we need a sage_root.spkg? I don't see a reason for a "root repo" to ever exist in tarball form.

The way things are set up right now, if you upgrade an existing sage installation then the updated SAGE_ROOT_REPO will merge updates to the $SAGE_ROOT repository. As long as we don't have an official online repository to pull changes from I don't see any better way to do the upgrade. Am I missing something?

I agree that we need to disentangle the sage_root repository more from sage_scripts. Basically, everything that sage_scripts/spkg-install manually copies into $SAGE_ROOT should be part of the root repo, like README.txt. But I think this can wait until we actually do have a sage_root repository. Then it'll be easy to write complimentary patches for the two repositories that clean this up.

I'm also totally in favour of merging the spkg/base repo. Since that has only 26 log entries (with the most recent one from July), I think we can live without preserving its history. Right now we don't use this repository during upgrades as far as I know.

If you agree with this then I'll make a followup ticket...

jdemeyer commented 13 years ago
comment:93

Replying to @vbraun:

Replying to @jdemeyer:

Why do we need a sage_root.spkg? I don't see a reason for a "root repo" to ever exist in tarball form.

The way things are set up right now, if you upgrade an existing sage installation then the updated SAGE_ROOT_REPO will merge updates to the $SAGE_ROOT repository. As long as we don't have an official online repository to pull changes from I don't see any better way to do the upgrade.

I have to admit I know nothing about this. If you really think we need a sage_root.spkg then I believe you...

I agree that we need to disentangle the sage_root repository more from sage_scripts. Basically, everything that sage_scripts/spkg-install manually copies into $SAGE_ROOT should be part of the root repo, like README.txt. But I think this can wait until we actually do have a sage_root repository. Then it'll be easy to write complimentary patches for the two repositories that clean this up.

Personally, I would rather like to clean this up as part of this ticket. Keep in mind that adding or changing the working of a SAGE_ROOT repo will require some changes to the process of merging Sage releases. I would prefer to have to do this only once, not once for this ticket and once for every follow-up ticket.

I'm also totally in favour of merging the spkg/base repo. Since that has only 26 log entries (with the most recent one from July), I think we can live without preserving its history. Right now we don't use this repository during upgrades as far as I know.

If you agree with this then I'll make a followup ticket...

Same answer as before: I prefer to do it in this ticket.

jhpalmieri commented 13 years ago
comment:94

Replying to @jdemeyer:

Replying to @vbraun:

Replying to @jdemeyer:

Why do we need a sage_root.spkg? I don't see a reason for a "root repo" to ever exist in tarball form.

The way things are set up right now, if you upgrade an existing sage installation then the updated SAGE_ROOT_REPO will merge updates to the $SAGE_ROOT repository. As long as we don't have an official online repository to pull changes from I don't see any better way to do the upgrade.

I have to admit I know nothing about this. If you really think we need a sage_root.spkg then I believe you...

Yes, that's the reason for its existence.

I agree that we need to disentangle the sage_root repository more from sage_scripts. Basically, everything that sage_scripts/spkg-install manually copies into $SAGE_ROOT should be part of the root repo, like README.txt. But I think this can wait until we actually do have a sage_root repository. Then it'll be easy to write complimentary patches for the two repositories that clean this up.

Personally, I would rather like to clean this up as part of this ticket. Keep in mind that adding or changing the working of a SAGE_ROOT repo will require some changes to the process of merging Sage releases. I would prefer to have to do this only once, not once for this ticket and once for every follow-up ticket.

I think I don't understand. Once there is a SAGE_ROOT repo, then any follow-up ticket can just have a patch which needs to be applied to that repo, as opposed to manually patching spkg/install or Makefile or whatever.

For the particular change you have in mind, it requires modifying various scripts (like spkg-install, but maybe others?) in local/bin, and it could possibly be complicated. It seems safer to do things incrementally, first setting up the new repo, then on a later ticket making further changes.

(I also have a heavy teaching load right now, so I won't have much time to work on this. I can try to fix bugs with the current implementation when anyone finds them, but I don't think I can work on any major modifications, like dealing with the spkg/base repo.)

vbraun commented 13 years ago
comment:95

I'm with John here: Its easy to generate a patch that adds a new file to the sage_root repository. You don't have to do anything else for updates, the change will automatically make it into the next sage_root package. No more manually digging around to make a new source distribution :-)

kcrisman commented 13 years ago
comment:96

For the particular change you have in mind, it requires modifying various scripts (like spkg-install, but maybe others?) in local/bin, and it could possibly be complicated. It seems safer to do things incrementally, first setting up the new repo, then on a later ticket making further changes.

And indeed, this is the Sage way of doing things - perfect being the enemy of things ever happening in the open development, open source model.

I'd also like to put in a plug for sage-README-osx.txt finally being removed from $SAGE_ROOT. Apparently #6938 never got 'merged'...> (I also have a heavy teaching load right now, so I won't have much time to work on this. I can try to fix bugs with the current implementation when anyone finds them, but I don't think I can work on any major modifications, like dealing with the spkg/base repo.)

jdemeyer commented 13 years ago
comment:97

Replying to @kcrisman:

And indeed, this is the Sage way of doing things - perfect being the enemy of things ever happening in the open development, open source model.

In general, I completely agree with your sentiment: too many times a patch has not been finished because it was not the "optimal" solution. However, this only applies if the halfway-implemented patch makes the situation better.

For this particular ticket, I feel that having a halfway-implemented sage_root repository is strictly worse than having no sage_root repository at all. The situation for merging SAGE_ROOT patches is already complicated enough (but I can manage) and I'm afraid the current patch on this ticket will make it only worse.

This is not a ticket I want to "rush" into Sage.

vbraun commented 13 years ago
comment:98

Replying to @jdemeyer:

This is not a ticket I want to "rush" into Sage.

This ticket has been worked on for 7 months and has almost 100 comments ;-)

And every time I want to change something on this ticket I need half a day to rebuild sage, manually make half a dozen changes, test the source distribution.

I can make the changes you wanted in comment:91 but there are a bunch of other files I want to move to the sage_root repository as well. Some of them might need some discussion on sage-devel first. How many more months should we wait until the main makefile is under revision control?

jdemeyer commented 13 years ago
comment:100

Replying to @dandrake:

  • release manager uses same procedure as for the Sage library to merge the patch.

Wrong, because the README is actually already in a different repository, namely sage_scripts. This is the issue of duplicate files that I mentioned above.

jhpalmieri commented 13 years ago
comment:101

After applying the patches here, README.txt will be in the SAGE_ROOT repo, not the scripts repo. The full list of files which will be tracked:

-.hgignore .hgtags COPYING.txt README.txt Makefile sage

jdemeyer commented 13 years ago
comment:102

The SAGE_ROOT/ipython directory is created during the Sage build process, so I don't think it should be part of the SAGE_ROOT repository.

jdemeyer commented 13 years ago

Description changed:

--- 
+++ 
@@ -8,5 +8,5 @@
 - apply [attachment: 9433_install.diff](https://github.com/sagemath/sage-prod/files/10649960/9433_install.diff.gz) to `$SAGE_ROOT/spkg/install`
 - apply [attachment: 9433_deps.diff](https://github.com/sagemath/sage-prod/files/10649966/9433_deps.diff.gz) to `$SAGE_ROOT/spkg/standard/deps`

-Then **from $SAGE_ROOT**, run the attached script [attachment: hg_script](https://github.com/sagemath/sage-prod/files/10649945/hg_script.gz) to create the Mercurial repository.
+Then **from $SAGE_ROOT**, run the attached script [attachment: 9433_hg_script.sh](https://github.com/sagemath/sage-prod/files/10649963/9433_hg_script.sh.gz) to create the Mercurial repository.
jdemeyer commented 13 years ago
comment:104

What's the reason for removing the quoting of SAGE_ROOT in sage-spkg-install?

jhpalmieri commented 13 years ago
comment:105

Replying to @jdemeyer:

The SAGE_ROOT/ipython directory is created during the Sage build process, so I don't think it should be part of the SAGE_ROOT repository.

It's just copied from whatever was there before. Why not track those files in a repository? Otherwise they're not tracked anywhere: what if we want to change any of them? Also, if you decide to not include them in the repo, then you'll need to work on the scripts patch: put back the parts (in sage-sdist for example) which create those files.

What's the reason for removing the quoting of SAGE_ROOT in sage-spkg-install?

That was presumably just a mistake.

vbraun commented 13 years ago
comment:106

The ipython directory is in the sage_scripts repository and sage_scripts/spkg-install manually copies it into $SAGE_ROOT. The patch on this ticket removes that part from sage_scripts/spkg-install, so it will no longer be copied over.

I'm not sure if the removal of the quotes has any deeper meaning. But right-hand-sides of variable assignments need not be quoted in shell script:

[vbraun@volker-two ~]$ x="a b"
[vbraun@volker-two ~]$ y=$x/c
[vbraun@volker-two ~]$ echo $y
a b/c
jdemeyer commented 13 years ago
comment:107

Replying to @vbraun:

The ipython directory is in the sage_scripts repository and sage_scripts/spkg-install manually copies it into $SAGE_ROOT. The patch on this ticket removes that part from sage_scripts/spkg-install, so it will no longer be copied over.

Okay, I see. I got confused by the renaming of sage-spkg-install to spkg-install, so I didn't realize what the file sage-spkg-install was all about.

I'm not sure if the removal of the quotes has any deeper meaning. But right-hand-sides of variable assignments need not be quoted in shell script:

[vbraun@volker-two ~]$ x="a b"
[vbraun@volker-two ~]$ y=$x/c
[vbraun@volker-two ~]$ echo $y
a b/c

I agree, but I think that having the quotes is clearer anyway.

This is most certainly a bug (in sage-make_devel_packages):

+if [ ! -f "$PKG/sage_scripts-$SAGE_VERSION.spkg" ]; then
vbraun commented 13 years ago
comment:108

Upon closer investigation I found that the ipython directory is in the sage_scripts spkg, but ignored in the sage_scripts mercurial repository. So its even worse :-)

vbraun commented 13 years ago

Attachment: trac_9433-scripts.v5.2.patch.gz

Updated patch

jdemeyer commented 13 years ago

Description changed:

--- 
+++ 
@@ -2,7 +2,7 @@

 Here are the instructions:

-- apply the patches [attachment: trac_9433-sage-repo.2.patch](https://github.com/sagemath/sage-prod/files/10649949/trac_9433-sage-repo.2.patch.gz) and [attachment: trac_9433-scripts.v5.2.patch](https://github.com/sagemath/sage-prod/files/10649961/trac_9433-scripts.v5.2.patch.gz)
+- apply the patches [attachment: trac_9433-sage-repo.2.patch](https://github.com/sagemath/sage-prod/files/10649949/trac_9433-sage-repo.2.patch.gz) and [attachment: trac_9433-scripts.v6.patch](https://github.com/sagemath/sage-prod/files/10649962/trac_9433-scripts.v6.patch.gz)
 - move the attached file [attachment: hgignore](https://github.com/sagemath/sage-prod/files/10649969/hgignore.gz) to `$SAGE_ROOT/.hgignore` (note that this is a *new* file)
 - move the attached file [attachment: root-spkg-install.v2](https://github.com/sagemath/sage-prod/files/10649954/root-spkg-install.v2.gz) to `$SAGE_ROOT/spkg/root-spkg-install` (note that this is a *new* file)
 - apply [attachment: 9433_install.diff](https://github.com/sagemath/sage-prod/files/10649960/9433_install.diff.gz) to `$SAGE_ROOT/spkg/install`
jdemeyer commented 13 years ago
comment:110

Ha, I beat you by 13 seconds! :-)

jdemeyer commented 13 years ago

Description changed:

--- 
+++ 
@@ -2,7 +2,7 @@

 Here are the instructions:

-- apply the patches [attachment: trac_9433-sage-repo.2.patch](https://github.com/sagemath/sage-prod/files/10649949/trac_9433-sage-repo.2.patch.gz) and [attachment: trac_9433-scripts.v6.patch](https://github.com/sagemath/sage-prod/files/10649962/trac_9433-scripts.v6.patch.gz)
+- apply the patches [attachment: trac_9433-sage-repo.2.patch](https://github.com/sagemath/sage-prod/files/10649949/trac_9433-sage-repo.2.patch.gz) and [attachment: trac_9433-scripts.v5.2.patch](https://github.com/sagemath/sage-prod/files/10649961/trac_9433-scripts.v5.2.patch.gz)
 - move the attached file [attachment: hgignore](https://github.com/sagemath/sage-prod/files/10649969/hgignore.gz) to `$SAGE_ROOT/.hgignore` (note that this is a *new* file)
 - move the attached file [attachment: root-spkg-install.v2](https://github.com/sagemath/sage-prod/files/10649954/root-spkg-install.v2.gz) to `$SAGE_ROOT/spkg/root-spkg-install` (note that this is a *new* file)
 - apply [attachment: 9433_install.diff](https://github.com/sagemath/sage-prod/files/10649960/9433_install.diff.gz) to `$SAGE_ROOT/spkg/install`
vbraun commented 13 years ago
comment:112

That was probably my typo in rebasing the patch to Sage-4.6.1 ;-)

jdemeyer commented 13 years ago

Description changed:

--- 
+++ 
@@ -2,7 +2,7 @@

 Here are the instructions:

-- apply the patches [attachment: trac_9433-sage-repo.2.patch](https://github.com/sagemath/sage-prod/files/10649949/trac_9433-sage-repo.2.patch.gz) and [attachment: trac_9433-scripts.v5.2.patch](https://github.com/sagemath/sage-prod/files/10649961/trac_9433-scripts.v5.2.patch.gz)
+- apply the patches [attachment: trac_9433-sage-repo.2.patch](https://github.com/sagemath/sage-prod/files/10649949/trac_9433-sage-repo.2.patch.gz) and [attachment: trac_9433-scripts.v6.patch](https://github.com/sagemath/sage-prod/files/10649962/trac_9433-scripts.v6.patch.gz)
 - move the attached file [attachment: hgignore](https://github.com/sagemath/sage-prod/files/10649969/hgignore.gz) to `$SAGE_ROOT/.hgignore` (note that this is a *new* file)
 - move the attached file [attachment: root-spkg-install.v2](https://github.com/sagemath/sage-prod/files/10649954/root-spkg-install.v2.gz) to `$SAGE_ROOT/spkg/root-spkg-install` (note that this is a *new* file)
 - apply [attachment: 9433_install.diff](https://github.com/sagemath/sage-prod/files/10649960/9433_install.diff.gz) to `$SAGE_ROOT/spkg/install`
jdemeyer commented 13 years ago

Attachment: trac_9433-scripts.v6.patch.gz

vbraun commented 13 years ago
comment:114

Attachment: 9433_hg_script.sh.gz

I'm fine with all changes.

jdemeyer commented 13 years ago
comment:115

Upgrading from earlier versions of Sage doesn't work because spkg/standard/VERSION.txt is gone:

$ ./sage -upgrade http://sage.math.washington.edu/home/jdemeyer/release/sage-4.6.2.sage_root/sage-4.6.2.sage_root/
Downloading packages from 'http://sage.math.washington.edu/home/jdemeyer/release/sage-4.6.2.sage_root/sage-4.6.2.sage_root//spkg'.
Reading package lists...  Done!
The following packages will be upgraded:

    examples-4.6.2.sage_root extcode-4.6.2.sage_root
    sage-4.6.2.sage_root sage_root-4.6.2.sage_root
    sage_scripts-4.6.2.sage_root

 ** WARNING: This is a source-based upgrade, which could take hours,
 ** fail, and render your Sage install useless!!

Do you want to continue [y/N]? y
http://sage.math.washington.edu/home/jdemeyer/release/sage-4.6.2.sage_root/sage-4.6.2.sage_root//spkg/standard/examples-4.6.2.sage_root.spkg --> examples-4.6.2.sage_root.spkg [..................................................]
Deleting old spkg 'examples-4.6.1.spkg'...
http://sage.math.washington.edu/home/jdemeyer/release/sage-4.6.2.sage_root/sage-4.6.2.sage_root//spkg/standard/extcode-4.6.2.sage_root.spkg --> extcode-4.6.2.sage_root.spkg [..................................................]
Deleting old spkg 'extcode-4.6.1.spkg'...
http://sage.math.washington.edu/home/jdemeyer/release/sage-4.6.2.sage_root/sage-4.6.2.sage_root//spkg/standard/sage-4.6.2.sage_root.spkg --> sage-4.6.2.sage_root.spkg [..................................................]
Deleting old spkg 'sage-4.6.1.spkg'...
http://sage.math.washington.edu/home/jdemeyer/release/sage-4.6.2.sage_root/sage-4.6.2.sage_root//spkg/standard/sage_root-4.6.2.sage_root.spkg --> sage_root-4.6.2.sage_root.spkg [..............]
http://sage.math.washington.edu/home/jdemeyer/release/sage-4.6.2.sage_root/sage-4.6.2.sage_root//spkg/standard/sage_scripts-4.6.2.sage_root.spkg --> sage_scripts-4.6.2.sage_root.spkg [..................................................]
Deleting old spkg 'sage_scripts-4.6.1.spkg'...
http://sage.math.washington.edu/home/jdemeyer/release/sage-4.6.2.sage_root/sage-4.6.2.sage_root//spkg/standard/VERSION.txt --> VERSION.txt [.]
Failed to download 'http://sage.math.washington.edu/home/jdemeyer/release/sage-4.6.2.sage_root/sage-4.6.2.sage_root//spkg/standard/VERSION.txt'.
Abort.
jhpalmieri commented 13 years ago
comment:116

Replying to @jdemeyer:

Upgrading from earlier versions of Sage doesn't work because spkg/standard/VERSION.txt is gone:

That's because when the scripts patch was rebased, lines like these were removed:

# Put VERSION.txt in a directory available for download during the 
# update process.  (See sage-update.) 
cp -p VERSION.txt $TMP/$PKGDIR/$STD/

I think that just restoring these lines should fix it .

jhpalmieri commented 13 years ago

patch for scripts repo

jhpalmieri commented 13 years ago

Description changed:

--- 
+++ 
@@ -2,7 +2,7 @@

 Here are the instructions:

-- apply the patches [attachment: trac_9433-sage-repo.2.patch](https://github.com/sagemath/sage-prod/files/10649949/trac_9433-sage-repo.2.patch.gz) and [attachment: trac_9433-scripts.v6.patch](https://github.com/sagemath/sage-prod/files/10649962/trac_9433-scripts.v6.patch.gz)
+- apply the patches [attachment: trac_9433-sage-repo.2.patch](https://github.com/sagemath/sage-prod/files/10649949/trac_9433-sage-repo.2.patch.gz) and [attachment: trac_9433-scripts.v7.patch](https://github.com/sagemath/sage-prod/files/10649964/trac_9433-scripts.v7.patch.gz)
 - move the attached file [attachment: hgignore](https://github.com/sagemath/sage-prod/files/10649969/hgignore.gz) to `$SAGE_ROOT/.hgignore` (note that this is a *new* file)
 - move the attached file [attachment: root-spkg-install.v2](https://github.com/sagemath/sage-prod/files/10649954/root-spkg-install.v2.gz) to `$SAGE_ROOT/spkg/root-spkg-install` (note that this is a *new* file)
 - apply [attachment: 9433_install.diff](https://github.com/sagemath/sage-prod/files/10649960/9433_install.diff.gz) to `$SAGE_ROOT/spkg/install`
jhpalmieri commented 13 years ago
comment:117

Attachment: trac_9433-scripts.v7.patch.gz

Here's a new patch for the scripts repo.

vbraun commented 13 years ago
comment:118

Yes that fixes it!

vbraun commented 13 years ago
comment:119

For the record: I successfully upgraded a Sage-4.6.1 installation to Sage-4.6.2.alpha1.

jdemeyer commented 13 years ago

Attachment: 9433_testing.patch.gz

SAGEROOT patch for testing, DO NOT APPLY

jdemeyer commented 13 years ago

Description changed:

--- 
+++ 
@@ -10,3 +10,4 @@

 Then **from $SAGE_ROOT**, run the attached script [attachment: 9433_hg_script.sh](https://github.com/sagemath/sage-prod/files/10649963/9433_hg_script.sh.gz) to create the Mercurial repository.

+**Testing**: see [http://sage.math.washington.edu/home/release/sage-4.7.alpha0/](http://sage.math.washington.edu/home/release/sage-4.7.alpha0/)
jdemeyer commented 13 years ago

Attachment: 9433_deps.diff.gz

jdemeyer commented 13 years ago

Description changed:

--- 
+++ 
@@ -2,7 +2,8 @@

 Here are the instructions:

-- apply the patches [attachment: trac_9433-sage-repo.2.patch](https://github.com/sagemath/sage-prod/files/10649949/trac_9433-sage-repo.2.patch.gz) and [attachment: trac_9433-scripts.v7.patch](https://github.com/sagemath/sage-prod/files/10649964/trac_9433-scripts.v7.patch.gz)
+- apply [attachment: trac_9433-sage-repo.2.patch](https://github.com/sagemath/sage-prod/files/10649949/trac_9433-sage-repo.2.patch.gz)
+- apply [attachment: trac_9433-scripts.v7.patch](https://github.com/sagemath/sage-prod/files/10649964/trac_9433-scripts.v7.patch.gz) to the scripts repository
 - move the attached file [attachment: hgignore](https://github.com/sagemath/sage-prod/files/10649969/hgignore.gz) to `$SAGE_ROOT/.hgignore` (note that this is a *new* file)
 - move the attached file [attachment: root-spkg-install.v2](https://github.com/sagemath/sage-prod/files/10649954/root-spkg-install.v2.gz) to `$SAGE_ROOT/spkg/root-spkg-install` (note that this is a *new* file)
 - apply [attachment: 9433_install.diff](https://github.com/sagemath/sage-prod/files/10649960/9433_install.diff.gz) to `$SAGE_ROOT/spkg/install`
jdemeyer commented 13 years ago

Description changed:

--- 
+++ 
@@ -5,7 +5,7 @@
 - apply [attachment: trac_9433-sage-repo.2.patch](https://github.com/sagemath/sage-prod/files/10649949/trac_9433-sage-repo.2.patch.gz)
 - apply [attachment: trac_9433-scripts.v7.patch](https://github.com/sagemath/sage-prod/files/10649964/trac_9433-scripts.v7.patch.gz) to the scripts repository
 - move the attached file [attachment: hgignore](https://github.com/sagemath/sage-prod/files/10649969/hgignore.gz) to `$SAGE_ROOT/.hgignore` (note that this is a *new* file)
-- move the attached file [attachment: root-spkg-install.v2](https://github.com/sagemath/sage-prod/files/10649954/root-spkg-install.v2.gz) to `$SAGE_ROOT/spkg/root-spkg-install` (note that this is a *new* file)
+- move the attached file [attachment: root-spkg-install.v3](https://github.com/sagemath/sage-prod/files/10649967/root-spkg-install.v3.gz) to `$SAGE_ROOT/spkg/root-spkg-install` (note that this is a *new* file)
 - apply [attachment: 9433_install.diff](https://github.com/sagemath/sage-prod/files/10649960/9433_install.diff.gz) to `$SAGE_ROOT/spkg/install`
 - apply [attachment: 9433_deps.diff](https://github.com/sagemath/sage-prod/files/10649966/9433_deps.diff.gz) to `$SAGE_ROOT/spkg/standard/deps`
jdemeyer commented 13 years ago
comment:125

Testing changes to root-spkg-install...

jdemeyer commented 13 years ago
comment:126

It seems that the SAGE_ROOT repository requires a very recent of Mercurial. With Mercurial version 1.6.4, I get

$ hg --version
Mercurial Distributed SCM (version 1.6.4)

Copyright (C) 2005-2010 Matt Mackall <mpm@selenic.com> and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ hg commit
abort: requirement 'dotencode' not supported!

I agree that a sufficiently recent version of Mercurial is shipped with Sage, but unless there is a good reason for this dotencode requirement, I would prefer if the root repo worked with Mercurial 1.3.1 like the other repos.