Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/upgrade.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/upgrade.xml,v diff -u -r1.29 -r1.30 --- openacs-4/packages/acs-core-docs/www/xml/install-guide/upgrade.xml 14 Jul 2004 22:02:18 -0000 1.29 +++ openacs-4/packages/acs-core-docs/www/xml/install-guide/upgrade.xml 28 Jul 2004 20:23:44 -0000 1.30 @@ -353,7 +353,10 @@ Upgrading files for a site which is not in a CVS repository - Unpack the tarball into a new directory and copy its contents on top of your working directory. + Unpack the tarball into a new directory and copy its + contents on top of your working directory. Or just 'install + software', select remote repository, and upgrade your files + from there. [root root]# su - $OPENACS_SERVICE_NAME [$OPENACS_SERVICE_NAME aolserver]$ cd /var/lib/aolserver @@ -372,8 +375,16 @@ Upgrading files for a site in a private CVS repository - Many OpenACS site developers operate their own CVS repository to keep track of changes from the release OpenACS code. This part describes how to import the latest OpenACS version into your own repository. If you are using CVS, you will unpack the OpenACS 5.1 tarball into a working directory and then import that directory into cvs. If you have changed files in the core packages, cvs will attempt to merge your changes. You may have to manually merge some conflicts. When that's finished, you can update your normal development checkout directory and the new files will appear. If you aren't using CVS, you can unpack the tarball on top of your existing tree, but any customizations you've made to the kernel or core packages will be erased. + Many OpenACS site developers operate their own CVS + repository to keep track of local customizations. In this + section, we describe how to upgrade your local CVS repository + with the latest OpenACS version, without overriding your own + local customizations. + This diagram explains the basic idea. However, the + labels are incorrect. Step 1(a) has been removed, and Step + 1(b) should be labelled Step 1. +
Upgrading a local CVS repository @@ -383,59 +394,70 @@
+ - Step 1: Import new CVS code - There are two common ways to get new OpenACS - code into your local CVS repository - via tarball (a) - OR with a working CVS checkout (b) of OpenACS. Both - methods work well for starting your local repository; - the second method is better for incremental additions - or upgrades. + Step 0: Set up a working CVS checkout - - - - (a): via tarball - Download a current tarball and unpack the new files into a working directory. - - [root root]# su - $OPENACS_SERVICE_NAME -[$OPENACS_SERVICE_NAME aolserver]$ cd /tmp -[$OPENACS_SERVICE_NAME tmp]$ tar xzf openacs-5-1.tar.gz -[$OPENACS_SERVICE_NAME tmp]$ cd openacs-5-1 - - - - (b): via cvs working checkout - Create a CVS checkout from OpenACS. The - first time you do this, you will need to create - the checkout directory. We use one dedicated - directory for each branch of OpenACS - if you are - using OpenACS 5.0,x, you will need a 5.0 - checkout. That will be good for 5.0, 5.01, 5.02, - and so on. But when you want to upgrade to OpenACS - 5.1, you'll need to check out another branch. - The openacs-5-1-compat tag identifies the latest released version of OpenACS 5.1 (ie, 5.1.3 or 5.1.4) and the latest compatible version of each package, including .LRN. Each minor release of OpenACS since 5.0 has this tagging structure. For example, OpenACS 5.1.x has openacs-5-1-compat. - You will want to separately check out all the - packages you are using. - - + To get your OpenACS code into your local CVS + repository, you will set up a working CVS checkout of + OpenACS. When you want to update your site, you'll + update the working CVS checkout, import those changes + into your local CVS checkout, create a temporary CVS + checkout to merge your local changes, fix any + conflicts, commit your changes, and then update your + site. It sounds complicated, but it's not too bad, and + it is the best way to work around CVS's limitations. + + This part describes how to set up your working CVS + checkout. Once it is set up, you'll be able to update any + packages using the existing working CVS checkout. We use one + dedicated directory for each branch of OpenACS - if you are + using OpenACS 5.1,x, you will need a 5.1 checkout. That will + be good for 5.1, 5.11, 5.12, and so on. But when you want to + upgrade to OpenACS 5.2, you'll need to check out another + branch. + + The openacs-5-1-compat tag identifies the latest released version of OpenACS 5.1 (ie, 5.1.3 or 5.1.4) and the latest compatible version of each package. Each minor release of OpenACS since 5.0 has this tagging structure. For example, OpenACS 5.1.x has openacs-5-1-compat. + + You will want to separately check out all the + packages you are using. + + [root root]# su - $OPENACS_SERVICE_NAME [$OPENACS_SERVICE_NAME aolserver]$ cd /var/lib/aolserver [$OPENACS_SERVICE_NAME aolserver]$ cvs -d :pserver:anonymous@openacs.org:/cvsroot checkout -r openacs-5-1-compat acs-core [$OPENACS_SERVICE_NAME aolserver]$ cd openacs-4/packages [$OPENACS_SERVICE_NAME aolserver]$ cvs -d :pserver:anonymous@openacs.org:/cvsroot checkout -r openacs-5-1-compat packagename packagename2... [$OPENACS_SERVICE_NAME aolserver]$ cd ../.. [$OPENACS_SERVICE_NAME aolserver]$ mv openacs-4 openacs-5-1 - If you already have a CVS working checkout, you can simply update it instead of recreating it. + + Make sure your working CVS checkout doesn't have + the entire CVS tree from OpenACS. A good way to check + this is if it has a contrib directory. If it does, you + probably checked out the entire tree. You might want to + start over, remove your working CVS checkout, and try again. + + + + + + Step 1: Import new OpenACS code + + + + + + Update your local CVS working checkout (unless + you just set it up). [root root]# su - $OPENACS_SERVICE_NAME [$OPENACS_SERVICE_NAME aolserver]$ cd /var/lib/aolserver/openacs-5-1 [$OPENACS_SERVICE_NAME aolserver]$ cvs up -Pd - (c) A single package via cvs working checkout + Update a single package via cvs working checkout You can add or upgrade a single package at a time, if you already have a cvs working directory. [root root]# su - $OPENACS_SERVICE_NAME @@ -470,6 +492,7 @@ your local tree in the last day. This section should be improved to use tags instead of the keyword yesterday! [$OPENACS_SERVICE_NAME openacs-5.1]$ cd /var/lib/aolserver +[$OPENACS_SERVICE_NAME tmp]$ rm -rf $OPENACS_SERVICE_NAME-upgrade [$OPENACS_SERVICE_NAME tmp]$ mkdir $OPENACS_SERVICE_NAME-upgrade [$OPENACS_SERVICE_NAME tmp]$ cvs checkout -d $OPENACS_SERVICE_NAME-upgrade -jOpenACS:yesterday -jOpenACS -kk $OPENACS_SERVICE_NAME > cvs.txt 2>&1 (CVS feedback here)