experimental tool for Launchpad upload
2008-10-05 Thomas Thurman <tthurman@gnome.org> * tools/ppa-magic.py: experimental tool for Launchpad upload svn path=/trunk/; revision=3940
This commit is contained in:
parent
03ccf99dbb
commit
9e72d661d6
2 changed files with 160 additions and 0 deletions
|
@ -1,3 +1,7 @@
|
|||
2008-10-05 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* tools/ppa-magic.py: experimental tool for Launchpad upload
|
||||
|
||||
2008-10-05 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* metacity.doap: Havoc is an author; Thomas has an email address;
|
||||
|
|
156
tools/ppa-magic.py
Normal file
156
tools/ppa-magic.py
Normal file
|
@ -0,0 +1,156 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# This is a heavily experimental script to upload nightly snapshots
|
||||
# to Canonical's Launchpad PPA system.
|
||||
#
|
||||
# Copyright (C) 2008 Thomas Thurman <tthurman@gnome.org>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
import time
|
||||
import os
|
||||
|
||||
app = 'metacity'
|
||||
try_number = 1 # if you mess it up within a day
|
||||
upstream_version = '2.25.0' # should take this from configure.in, really
|
||||
version = '1:%s~%s-0ubuntu~ppa%d' % (upstream_version,
|
||||
time.strftime('%Y%m%d'),
|
||||
try_number)
|
||||
|
||||
pkg_name = app # according to motu people
|
||||
svn_url = 'http://svn.gnome.org/svn/'+app+'/trunk'
|
||||
maintainer = 'Thomas Thurman <tthurman@gnome.org>'
|
||||
key = 'D5743F03'
|
||||
basedir = os.getcwd()+'/'+pkg_name # or, if you prefer, '/tmp/'+pkg_name
|
||||
|
||||
def write_to_files(path):
|
||||
|
||||
file(path+'/changelog', 'w').write(\
|
||||
pkg_name+""" ("""+version+""") hardy; urgency=low
|
||||
|
||||
* Nightly release from trunk.
|
||||
|
||||
-- """+maintainer+' '+time.strftime("%a, %d %b %Y %H:%M:%S %z")+"""
|
||||
""")
|
||||
|
||||
file(path+'/rules', 'w').write(\
|
||||
"""#!/usr/bin/make -f
|
||||
include /usr/share/cdbs/1/rules/debhelper.mk
|
||||
include /usr/share/cdbs/1/class/gnome.mk
|
||||
""")
|
||||
|
||||
os.chmod(path+'/rules', 0777)
|
||||
|
||||
# Compat should be 6 to keep debhelper happy.
|
||||
file(path+'/compat', 'w').write(\
|
||||
"""6
|
||||
""")
|
||||
|
||||
file(path+'/control', 'w').write(\
|
||||
"""Source: """+pkg_name+"""
|
||||
Section: devel
|
||||
Priority: optional
|
||||
Maintainer: """+maintainer+"""
|
||||
Standards-Version: 3.8.0
|
||||
Build-Depends: cdbs (>= 0.4.41),
|
||||
debhelper (>= 5),
|
||||
gettext,
|
||||
libgtk2.0-dev (>= 2.10.0-1~),
|
||||
liborbit2-dev (>= 1:2.10.2-1.1~),
|
||||
libpopt-dev,
|
||||
libxml2-dev (>= 2.4.23),
|
||||
libgconf2-dev (>= 2.6.1-2),
|
||||
libglade2-dev (>= 2.4.0-1~),
|
||||
libice-dev,
|
||||
libsm-dev,
|
||||
libx11-dev,
|
||||
libxt-dev,
|
||||
libxext-dev,
|
||||
libxrandr-dev,
|
||||
x11proto-core-dev,
|
||||
libxinerama-dev,
|
||||
libstartup-notification0-dev (>= 0.7),
|
||||
libxml-parser-perl,
|
||||
gnome-pkg-tools (>= 0.10),
|
||||
dpkg-dev (>= 1.13.19),
|
||||
libxcomposite-dev
|
||||
Homepage: http://blogs.gnome.org/metacity/
|
||||
|
||||
Package: """+pkg_name+"""
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}
|
||||
Description: Lightweight GTK2 compositing window manager (nightly trunk)
|
||||
Metacity is a small window manager, using gtk2 to do everything.
|
||||
.
|
||||
As the author says, metacity is a "Boring window manager for the adult in
|
||||
you. Many window managers are like Marshmallow Froot Loops; Metacity is
|
||||
like Cheerios."
|
||||
.
|
||||
This is the nightly trunk upload. It may not be the epitome of stability.
|
||||
""")
|
||||
|
||||
file(path+'/copyright', 'w').write(\
|
||||
"""This package was automatically debianised by a script.
|
||||
|
||||
It was downloaded from """+svn_url+"""
|
||||
|
||||
Upstream Author and Copyright Holder: Havoc Pennington - hp@redhat.com
|
||||
and others.
|
||||
|
||||
License:
|
||||
|
||||
This package is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This package is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this package; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
On Debian systems, the complete text of the GNU General
|
||||
Public License can be found in `/usr/share/common-licenses/GPL'.
|
||||
""")
|
||||
|
||||
#######################
|
||||
|
||||
if basedir!='.' and basedir!='..' and os.access(basedir, os.F_OK):
|
||||
os.system('rm -rf '+basedir)
|
||||
print 'Warning: deleted old version of '+basedir+'.'
|
||||
|
||||
os.system('svn export -q '+svn_url+' '+basedir)
|
||||
os.mkdir(basedir+'/debian')
|
||||
|
||||
write_to_files(basedir+'/debian')
|
||||
|
||||
os.chdir(basedir)
|
||||
|
||||
# Make sure we get up to having a "configure", or it won't build.
|
||||
os.system('NOCONFIGURE=1 ./autogen.sh')
|
||||
|
||||
os.chdir(basedir+'/debian')
|
||||
|
||||
os.system('debuild -rfakeroot -S -k'+key)
|
||||
|
||||
os.system('dput -f '+pkg_name+' '+basedir+'_'+version[2:]+'_source.changes')
|
||||
|
||||
# And then we should clean up.
|
||||
|
Loading…
Reference in a new issue