savannah-hackers-public
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Savannah-hackers-public] [gnu.org #912039] Migrate gnu.org/nongnu.org f


From: Lisa Maginnis via RT
Subject: [Savannah-hackers-public] [gnu.org #912039] Migrate gnu.org/nongnu.org from CVS
Date: Mon, 05 May 2014 16:48:24 -0400

> Staying on (obsolete) (unmaintained) CVS is also a bad idea :)
> I don't have read access so fencepost:/srv/data/www-config, can you
> check?

I've dumped a tarball of the Apache configs in your home directory:
/home/b/beuc/gnu.www-config.tar.gz
 
> @sysadmin: still willing to see the latest Apache configuration and as
> well as update scripts including http://www.gnu.org/new-savannah-
> project/new.py

Please see attached for a copy of new.py

Let me know if you need anything else!

Thank you for contributing time to look at this :)

Happy Hacking,

-- 
~Lisa Marie Maginnis
Senior System Administrator
Free Software Foundation
http://fsf.org http://gnu.org
GPG Key: 61EEC710


import os,sys
import string
from mod_python import apache, util
from syslog import *
import stat

# baughj, 2007.07.06 - add logging, usage of subprocess
# baughj, 2007.07.16 - make sure to chgrp/chmod checked out directory so that
# it can be updated by wwwcvs user later - why doesn't everything (cron job,
# etc) run as one user?
# add new 'translation' type for translation team webspace, see RT #348523.
# ward, 2008-08-18

# Stripped out actual cvs update, this script now just requests an update.
# See /usr/local/bin/update-cvs.sh for the actual cvs update code (and that 
# script is run from cron)
# ward, 2012-09-26

CHECKOUT = "/var/www/savannah-checkouts/"
LOGFILE = "/var/log/wwwcvs/new-savannah-project.log"

def touch(fname, times=None):
    with file(fname, 'a'):
        os.utime(fname, times)
        os.chmod(fname, stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP | 
stat.S_IWGRP | stat.S_IROTH | stat.S_IWOTH)

def request_update (type, project=''):
    if type == 'www':
        touch('/usr/local/to-update/www')
        syslog(LOG_INFO, "Update requested for type: %s" % type)
        return
    touch('/usr/local/to-update/%s___%s' % (type, project))
    syslog(LOG_INFO, "Update requested for type: %s (project %s)" % 
(type,project))
    return

def handler (req):
    openlog('savannah-update', 0, LOG_LOCAL6)
    form = util.FieldStorage (req)

    req.content_type = 'text/html'
    req.send_http_header ()

    type = None
    project = None
    if form.has_key('type'):
        type = form['type']
    if form.has_key('project'):
        project = form['project']

    if (type == 'www'):
        request_update('www')
        req.content_type = 'text/html'
        req.send_http_header ()
        return apache.OK 

    if not (type and project):
        syslog(LOG_ERR, 'Error: missing type or project. Aborting.')
        return apache.HTTP_NOT_FOUND

    if (type != 'gnu') and (type != 'non-gnu') and (type != 'translations'):
        syslog(LOG_ERR, "Error: Type unknown, was %s. Aborting." % type)
        return apache.HTTP_NOT_FOUND
    
    if string.find (project, "/") != -1:
        syslog(LOG_ERR, "Error: / found in project name %s" % project)
        return apache.HTTP_NOT_FOUND

    request_update(type,project)
    req.content_type = 'text/html'
    req.send_http_header ()

    return apache.OK

reply via email to

[Prev in Thread] Current Thread [Next in Thread]