Free and Open Source real time strategy game with a new take on micro-management

Uploading to Savannah

From Globulation2

Jump to: navigation, search

Uploading to Savannah

So you have made a package for your system you want to share? Well done. But there is a few things you need to do first. Follow the instructions for you operating system below.

Message Regarding Pass phrases:
* * * The guide below uses pass phrases for security. While they are not needed, and all step about them can be ignored,
it is advised you do use them, so that no one can steal you keys and use them to wreck havoc on the release server.

Uploading on Linux

Generating new ssh and gpg keys

  • First you have to make yourself a gpg key and ssh key (If you already have both, skip to #Setting up access to Savannah)
  • To do this, you need to install gnupg. Run the equivalent of the following for your system (sometimes called apt-get, yum, rpm, or similar)
urpmi gnupg
  • When gnupg is installed, run in a console
gpg --gen-key
  • When asked for the type of key, select "DSA and Elgamal (default)" (for me, thats #1, but it could be different on other systems).
  • When asked for keysize, you can type any numerical value you want between 1024 and 4096, but for this tutorial, we'll just use 1024.
  • Expiry can cause problems, so when promoted, select 0 (never expires) and select Yes when it asks if you are sure.
  • Type your real name and email when asked, and for comment, say something like Savannah key, something you'll remember.
  • Click O and Enter to accept what you've typed (if nothing needs changing).
  • Enter a passphrase when promoted. You can leave it empty, but for security, you should put something simple to remember.
  • It will now generate a new key. Move you mouse or type something on the keyboard to generate a more secure key.
  • When the process is completed, it should lead you back to a command prompt.
  • From here, type the following and hit enter to save in the in the default folder (normally ~/.ssh/id_dsa).
ssh-keygen -t dsa
if a key already exists (and it will say if it does), then you don't need to do these steps. Hit no so you don't overwrite it, then go to #Setting up access to Savannah
  • Enter a passphrase (again, not required, but better for security). Type it twice to confirm then hit enter to generate the key. If it goes well, you'll be lead back to a command prompt.

Setting up access to Savannah

  • In a console, run the following (or other compatible console editor) and copy the string at the top. Post this key to the ssh key configuration page when you are logged into Savannah.
vim ~/.ssh/id_dsa.pub
gpg --export --armor [name used in key creation]
The contents of the public key should look something like:
-----BEGIN PGP PUBLIC KEY BLOCK-----
[lots of charters and information here]
-----END PGP PUBLIC KEY BLOCK-----
  • Because Savannah is quite busy, you have to wait 1 hour for everything to take effect (that is when their cron script update you details and make them effective).

Connecting and uploading to Savannah with Konqueror

  • When everything is configured, you should be able to run the following command, and if you get promted for a passphrase, enter the one you used for you gpg key.
sftp://[username]@dl.sv.nongnu.org/releases/glob2/
  • Once connected, you should be able to drag and drop files from (to download) and to (to upload) Konqueror and the transfer process should begin. See #Permissions using Konqueror after you do upload your first file(s) however to prevent some permission problems
  • Because of the way Konqueror works, you can also make folders, delete items, rename files, and move/copy files the same way as you would locally, on the Savannah server with ease.

Connecting and uploading to Savannah with Console

  • Open the console and run
sftp [username]@dl.sv.nongnu.org:/releases/glob2/
See #Permissions using the Console after you do upload your first file(s) however to prevent some permission problems
  • Because of the way sftp and scp work, there is too many things to list here. Instead, read these pages regaridng the commands:
SFTP (moving/renaming/copying/deleting files, making folders, setting permissions): http://www.linuxcommand.org/man_pages/sftp1.html
SCP (copying files from local computer to savannah server, or vise versa, i.e uploading/downloading): http://www.linuxcommand.org/man_pages/scp1.html


Uploading on Windows

Generating new ssh and gpg keys

  • Install WinSCP from http://winscp.net/ (for this guide, I used WinSCP 4.0 beta Installation package, but they may have released a newer version when you read this)
  • Open PuTTYgen (a program installed that should be installed with WinSCP). If you dont have it, download it from http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe
  • In PuTTYgen, generate a new 1024bit length DSA2-SSH key with a passphrase (for security). Move the mouse in the empty space to generate the key.
  • When it is generated, save your private file to a folder of your choice (if this file is moved, you will need to change WinSCP, so its best to keep it in either My Documents, or some other folder where it can stay for as long as you use WinSCP)
  • In PuTTYgen, save your public file to your desktop (this wont remain here, only till the end of the guide)

Setting up access to Savannah

  • With PutTTgen still open, highlight and copy the ssh key at the top of the gewnerted key page (starts with ssh-dsa). Post this key to the ssh key configuration page when you are logged into Savannah.
  • Close PuTTYgen and with a text editor like Wordpad (notepad tends to make it not work), open and copy the entire contents of the public key you saved to your desktop, then post this to the gpg key configuration page when you are logged into Savannah. The contents of the public key should look something like:
---- BEGIN SSH2 PUBLIC KEY ----
[lots of charters and information here]
---- END SSH2 PUBLIC KEY ----
  • Because Savannah is quite busy, you have to wait 1 hour for everything to take effect (that is when their cron script update you details and make them effective).

Connecting and uploading to Savannah with WinSCP

  • Open WinSCP. It should pop up with the new host configuration page. It not, click the New button.
  • Set host as dl.sv.nongnu.org, with port 22
  • Set username as the one on Savannah (the same account you added the ssh and gpg keys too)
  • Set password as the passphrase you set during the making of the key (again, this is for security reasons, so no one can hack and steal you files to upload things in your name).
  • Set the private file as the one you saved in the place where it will remain (My Documents or some other folder)
  • Set protocol as SFTP (with SCP fallback). Although the program is called WinSCP, we actually use it as if it were WinSFTP. It works the same, if not better.
  • Save the connection information, and hit Login.
  • If the details are set correctly, you should be promted for your passphrase, and after entering it, be presented with two sides. On the left you have you local computer, and on the right, Savannahs server.
  • Using the norton Commander interface (the two sided interface described in the setp above), hit CTRL+O. This opens bookmarks, which you'll need.
  • Type /releases/glob2/ into the text feild, hit Add, then click Ok to go to that folder. You are now set to drag and drop files from the Left side to the right side to upload (or vise versa to download). See #Permissions on Windows before you do upload your first file however to prevent some permission problems
(further uses of WinSCP require you to open the bookmarks (CTRL+O), select the releases bookmark, and click Ok to get there, which takes away the need to type anything)
  • Because of the way WinSCP works, you can also make folders, delete items, rename files, and move/copy files the same way as you would locally, on the Savannah server with ease.


Setting Permissions

When you upload a file, it belongs to you. No one else can touch it. Which doesn't make it very good for others. So to allow others to move and rename etc, your files, do the following.

Permissions on Linux

Permissions using Konqueror
  • If you are using Konqueror, for each file you upload:
Right click uploaded files, click Properties > Permissions > Advanced Permissions > And tick all boxes in the first three columns minus Others Write (8 boxes in total)
Permissions using the Console
  • If using console, type the following after uploading all files to make them all have the right permissions (if you get any errors, then its because some other files arn't chmod correctly, ignore them, they are probably old):
chmod 775 *

Permissions on Windows

  • In WinSCP, hit CTRL+ALT+P (or Options > Preferences)
  • Go to the Transfer settings page
  • Find the box about Upload options, click Set Permissions, and hit the litle box with three ...
  • In the Octal text box, write 775 (it should then select all boxes in the first three columns minus Others Write (8 boxes in total)). Click close.
  • Click ok. Further files will be automatically these permissions.