mirror of
https://github.com/openSUSE/osc.git
synced 2025-02-05 02:56:17 +01:00
more fixes for Windows port
This commit is contained in:
parent
b6246d7695
commit
121b20c63c
15
osc/build.py
15
osc/build.py
@ -326,7 +326,10 @@ def main(opts, argv):
|
|||||||
|
|
||||||
|
|
||||||
print 'Getting buildinfo from server'
|
print 'Getting buildinfo from server'
|
||||||
bi_file = NamedTemporaryFile(suffix='.xml', prefix='buildinfo.', dir = '/tmp')
|
tempdir = '/tmp'
|
||||||
|
if sys.platform[:3] == 'win':
|
||||||
|
tempdir = os.getenv('TEMP')
|
||||||
|
bi_file = NamedTemporaryFile(suffix='.xml', prefix='buildinfo.', dir = tempfile)
|
||||||
try:
|
try:
|
||||||
bi_text = ''.join(get_buildinfo(apiurl,
|
bi_text = ''.join(get_buildinfo(apiurl,
|
||||||
prj,
|
prj,
|
||||||
@ -440,7 +443,10 @@ def main(opts, argv):
|
|||||||
rpmlist.append('vminstall: ' + ' '.join(bi.vminstall_list) + '\n')
|
rpmlist.append('vminstall: ' + ' '.join(bi.vminstall_list) + '\n')
|
||||||
rpmlist.append('runscripts: ' + ' '.join(bi.runscripts_list) + '\n')
|
rpmlist.append('runscripts: ' + ' '.join(bi.runscripts_list) + '\n')
|
||||||
|
|
||||||
rpmlist_file = NamedTemporaryFile(prefix='rpmlist.', dir = '/tmp')
|
tempdir = '/tmp'
|
||||||
|
if sys.platform[:3] == 'win':
|
||||||
|
tempdir = os.getenv('TEMP')
|
||||||
|
rpmlist_file = NamedTemporaryFile(prefix='rpmlist.', dir = tempdir)
|
||||||
rpmlist_file.writelines(rpmlist)
|
rpmlist_file.writelines(rpmlist)
|
||||||
rpmlist_file.flush()
|
rpmlist_file.flush()
|
||||||
os.fsync(rpmlist_file)
|
os.fsync(rpmlist_file)
|
||||||
@ -448,7 +454,10 @@ def main(opts, argv):
|
|||||||
|
|
||||||
|
|
||||||
print 'Getting buildconfig from server'
|
print 'Getting buildconfig from server'
|
||||||
bc_file = NamedTemporaryFile(prefix='buildconfig.', dir = '/tmp')
|
tempdir = '/tmp'
|
||||||
|
if sys.platform[:3] == 'win':
|
||||||
|
tempdir = os.getenv('TEMP')
|
||||||
|
bc_file = NamedTemporaryFile(prefix='buildconfig.', dir = tempdir)
|
||||||
bc_file.write(get_buildconfig(apiurl, prj, pac, repo, arch))
|
bc_file.write(get_buildconfig(apiurl, prj, pac, repo, arch))
|
||||||
bc_file.flush()
|
bc_file.flush()
|
||||||
|
|
||||||
|
@ -1265,26 +1265,29 @@ Please submit there instead, or use --nodevelproject to force direct submission.
|
|||||||
rev, expand_link=expand_link, prj_dir=project_dir)
|
rev, expand_link=expand_link, prj_dir=project_dir)
|
||||||
|
|
||||||
elif project:
|
elif project:
|
||||||
if os.path.exists(project):
|
prj_dir = project
|
||||||
|
if sys.platform[:3] == 'win':
|
||||||
|
prj_dir = prj_dir.replace(':', ';')
|
||||||
|
if os.path.exists(prj_dir):
|
||||||
sys.exit('osc: project \'%s\' already exists' % project)
|
sys.exit('osc: project \'%s\' already exists' % project)
|
||||||
|
|
||||||
# check if the project does exist (show_project_meta will throw an exception)
|
# check if the project does exist (show_project_meta will throw an exception)
|
||||||
show_project_meta(apiurl, project)
|
show_project_meta(apiurl, project)
|
||||||
|
|
||||||
init_project_dir(apiurl, project, project)
|
init_project_dir(apiurl, prj_dir, project)
|
||||||
print statfrmt('A', project)
|
print statfrmt('A', prj_dir)
|
||||||
|
|
||||||
# all packages
|
# all packages
|
||||||
for package in meta_get_packagelist(apiurl, project):
|
for package in meta_get_packagelist(apiurl, project):
|
||||||
try:
|
try:
|
||||||
checkout_package(apiurl, project, package,
|
checkout_package(apiurl, project, package,
|
||||||
expand_link=expand_link, prj_dir=project)
|
expand_link = expand_link, prj_dir = prj_dir)
|
||||||
except oscerr.LinkExpandError, e:
|
except oscerr.LinkExpandError, e:
|
||||||
print >>sys.stderr, 'Link cannot be expanded:\n', e
|
print >>sys.stderr, 'Link cannot be expanded:\n', e
|
||||||
print >>sys.stderr, 'Use "osc repairlink" for fixing merge conflicts:\n'
|
print >>sys.stderr, 'Use "osc repairlink" for fixing merge conflicts:\n'
|
||||||
# check out in unexpanded form at least
|
# check out in unexpanded form at least
|
||||||
checkout_package(apiurl, project, package,
|
checkout_package(apiurl, project, package,
|
||||||
expand_link=False, prj_dir=project)
|
expand_link = False, prj_dir = prj_dir)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
raise oscerr.WrongArgs('Missing argument.\n\n' \
|
raise oscerr.WrongArgs('Missing argument.\n\n' \
|
||||||
|
65
osc/core.py
65
osc/core.py
@ -1114,7 +1114,10 @@ rev: %s
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import tempfile
|
import tempfile
|
||||||
(fd, filename) = tempfile.mkstemp(prefix = 'osc_editmeta.', suffix = '.xml', dir = '/tmp')
|
tempdir = '/tmp'
|
||||||
|
if sys.platform[:3] == 'win':
|
||||||
|
tempdir = os.getenv('TEMP')
|
||||||
|
(fd, filename) = tempfile.mkstemp(prefix = 'osc_editmeta.', suffix = '.xml', dir = tempdir)
|
||||||
|
|
||||||
m = ''.join(show_package_meta(self.apiurl, self.prjname, self.name))
|
m = ''.join(show_package_meta(self.apiurl, self.prjname, self.name))
|
||||||
|
|
||||||
@ -1731,7 +1734,10 @@ class metafile:
|
|||||||
self.url = url
|
self.url = url
|
||||||
self.change_is_required = change_is_required
|
self.change_is_required = change_is_required
|
||||||
|
|
||||||
(fd, self.filename) = tempfile.mkstemp(prefix = 'osc_metafile.', suffix = file_ext, dir = '/tmp')
|
tempdir = '/tmp'
|
||||||
|
if sys.platform[:3] == 'win':
|
||||||
|
tempdir = os.getenv('TEMP')
|
||||||
|
(fd, self.filename) = tempfile.mkstemp(prefix = 'osc_metafile.', suffix = file_ext, dir = tempdir)
|
||||||
|
|
||||||
f = os.fdopen(fd, 'w')
|
f = os.fdopen(fd, 'w')
|
||||||
f.write(''.join(input))
|
f.write(''.join(input))
|
||||||
@ -1835,7 +1841,10 @@ def edit_meta(metatype,
|
|||||||
f=metafile(url, data, change_is_required, metatypes[metatype]['file_ext'])
|
f=metafile(url, data, change_is_required, metatypes[metatype]['file_ext'])
|
||||||
|
|
||||||
if edit:
|
if edit:
|
||||||
editor = os.getenv('EDITOR', default='vim')
|
if sys.platform[:3] != 'win':
|
||||||
|
editor = os.getenv('EDITOR', default='vim')
|
||||||
|
else:
|
||||||
|
editor = os.getenv('EDITOR', default='notepad')
|
||||||
while 1:
|
while 1:
|
||||||
subprocess.call('%s %s' % (editor, f.filename), shell=True)
|
subprocess.call('%s %s' % (editor, f.filename), shell=True)
|
||||||
if change_is_required == True:
|
if change_is_required == True:
|
||||||
@ -1965,7 +1974,10 @@ def read_meta_from_spec(specfile, *args):
|
|||||||
def edit_message(footer='', template=''):
|
def edit_message(footer='', template=''):
|
||||||
delim = '--This line, and those below, will be ignored--\n\n' + footer
|
delim = '--This line, and those below, will be ignored--\n\n' + footer
|
||||||
import tempfile
|
import tempfile
|
||||||
(fd, filename) = tempfile.mkstemp(prefix = 'osc-commitmsg', suffix = '.diff', dir = '/tmp')
|
tempdir = '/tmp'
|
||||||
|
if sys.platform[:3] == 'win':
|
||||||
|
tempdir = os.getenv('TEMP')
|
||||||
|
(fd, filename) = tempfile.mkstemp(prefix = 'osc-commitmsg', suffix = '.diff', dir = tempdir)
|
||||||
f = os.fdopen(fd, 'w')
|
f = os.fdopen(fd, 'w')
|
||||||
if template != '':
|
if template != '':
|
||||||
f.write(template)
|
f.write(template)
|
||||||
@ -1974,7 +1986,10 @@ def edit_message(footer='', template=''):
|
|||||||
f.close()
|
f.close()
|
||||||
mtime_orig = os.stat(filename).st_mtime
|
mtime_orig = os.stat(filename).st_mtime
|
||||||
|
|
||||||
editor = os.getenv('EDITOR', default='vim')
|
if sys.platform[:3] != 'win':
|
||||||
|
editor = os.getenv('EDITOR', default='vim')
|
||||||
|
else:
|
||||||
|
editor = os.getenv('EDITOR', default='notepad')
|
||||||
while 1:
|
while 1:
|
||||||
subprocess.call('%s %s' % (editor, filename), shell=True)
|
subprocess.call('%s %s' % (editor, filename), shell=True)
|
||||||
mtime = os.stat(filename).st_mtime
|
mtime = os.stat(filename).st_mtime
|
||||||
@ -2153,7 +2168,10 @@ def get_binary_file(apiurl, prj, repo, arch,
|
|||||||
binsize = int(f.headers['content-length'])
|
binsize = int(f.headers['content-length'])
|
||||||
|
|
||||||
import tempfile
|
import tempfile
|
||||||
(fd, tmpfilename) = tempfile.mkstemp(prefix = filename + '.', suffix = '.osc', dir = '/tmp')
|
tempdir = '/tmp'
|
||||||
|
if sys.platform[:3] == 'win':
|
||||||
|
tempdir = os.getenv('TEMP')
|
||||||
|
(fd, tmpfilename) = tempfile.mkstemp(prefix = filename + '.', suffix = '.osc', dir = tempdir)
|
||||||
os.chmod(tmpfilename, 0644)
|
os.chmod(tmpfilename, 0644)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -2312,7 +2330,10 @@ def make_diff(wc, revision):
|
|||||||
elif state == 'D':
|
elif state == 'D':
|
||||||
removed_files.append(file)
|
removed_files.append(file)
|
||||||
else:
|
else:
|
||||||
tmpdir = tempfile.mkdtemp(revision, wc.name, '/tmp')
|
tempdir = '/tmp'
|
||||||
|
if sys.platform[:3] == 'win':
|
||||||
|
tempdir = os.getenv('TEMP')
|
||||||
|
tmpdir = tempfile.mkdtemp(revision, wc.name, dir = tempdir)
|
||||||
os.chdir(tmpdir)
|
os.chdir(tmpdir)
|
||||||
init_package_dir(wc.apiurl, wc.prjname, wc.name, tmpdir, revision)
|
init_package_dir(wc.apiurl, wc.prjname, wc.name, tmpdir, revision)
|
||||||
cmp_pac = Package(tmpdir)
|
cmp_pac = Package(tmpdir)
|
||||||
@ -2336,7 +2357,10 @@ def make_diff(wc, revision):
|
|||||||
cmp_pac.updatefile(file, revision)
|
cmp_pac.updatefile(file, revision)
|
||||||
diff.append(get_source_file_diff(wc.absdir, file, revision, file,
|
diff.append(get_source_file_diff(wc.absdir, file, revision, file,
|
||||||
cmp_pac.absdir, file))
|
cmp_pac.absdir, file))
|
||||||
(fd, tmpfile) = tempfile.mkstemp(dir='/tmp')
|
tempdir = '/tmp'
|
||||||
|
if sys.platform[:3] == 'win':
|
||||||
|
tempdir = os.getenv('TEMP')
|
||||||
|
(fd, tmpfile) = tempfile.mkstemp(dir = tempdir)
|
||||||
for file in added_files:
|
for file in added_files:
|
||||||
diff.append(diff_hdr % file)
|
diff.append(diff_hdr % file)
|
||||||
if cmp_pac == None:
|
if cmp_pac == None:
|
||||||
@ -2350,7 +2374,10 @@ def make_diff(wc, revision):
|
|||||||
# if a file is deleted via "osc rm file" we should keep the storefile.
|
# if a file is deleted via "osc rm file" we should keep the storefile.
|
||||||
tmp_pac = None
|
tmp_pac = None
|
||||||
if cmp_pac == None and removed_files:
|
if cmp_pac == None and removed_files:
|
||||||
tmpdir = tempfile.mkdtemp(dir='/tmp')
|
tempdir = '/tmp'
|
||||||
|
if sys.platform[:3] == 'win':
|
||||||
|
tempdir = os.getenv('TEMP')
|
||||||
|
tmpdir = tempfile.mkdtemp( dir = tempdir)
|
||||||
os.chdir(tmpdir)
|
os.chdir(tmpdir)
|
||||||
init_package_dir(wc.apiurl, wc.prjname, wc.name, tmpdir, wc.rev)
|
init_package_dir(wc.apiurl, wc.prjname, wc.name, tmpdir, wc.rev)
|
||||||
tmp_pac = Package(tmpdir)
|
tmp_pac = Package(tmpdir)
|
||||||
@ -2432,6 +2459,9 @@ def checkout_package(apiurl, project, package,
|
|||||||
|
|
||||||
if not prj_dir:
|
if not prj_dir:
|
||||||
prj_dir = olddir
|
prj_dir = olddir
|
||||||
|
else:
|
||||||
|
if sys.platform[:3] == 'win':
|
||||||
|
prj_dir = prj_dir[:2] + prj_dir[2:].replace(':', ';')
|
||||||
|
|
||||||
if not pathname:
|
if not pathname:
|
||||||
pathname = getTransActPath(os.path.join(prj_dir, package))
|
pathname = getTransActPath(os.path.join(prj_dir, package))
|
||||||
@ -2630,7 +2660,10 @@ def copy_pac(src_apiurl, src_project, src_package,
|
|||||||
else:
|
else:
|
||||||
# copy one file after the other
|
# copy one file after the other
|
||||||
import tempfile
|
import tempfile
|
||||||
tmpdir = tempfile.mkdtemp(prefix='osc_copypac', dir='/tmp')
|
tempdir = '/tmp'
|
||||||
|
if sys.platform[:3] == 'win':
|
||||||
|
tempdir = os.getenv('TEMP')
|
||||||
|
tmpdir = tempfile.mkdtemp(prefix='osc_copypac', dir = tempdir)
|
||||||
os.chdir(tmpdir)
|
os.chdir(tmpdir)
|
||||||
for n in meta_get_filelist(src_apiurl, src_project, src_package, expand=expand):
|
for n in meta_get_filelist(src_apiurl, src_project, src_package, expand=expand):
|
||||||
print ' ', n
|
print ' ', n
|
||||||
@ -3373,10 +3406,16 @@ def delete_tmpdir(tmpdir):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
head, tail = os.path.split(tmpdir)
|
head, tail = os.path.split(tmpdir)
|
||||||
if not head.startswith('/tmp') or not tail:
|
if sys.platform == 'win32':
|
||||||
return False
|
if head.upper().startswith(os.getenv('TEMP').upper) and tail:
|
||||||
|
try:
|
||||||
|
os.rmdir(tmpdir)
|
||||||
|
except:
|
||||||
|
return false
|
||||||
else:
|
else:
|
||||||
return delete_dir(tmpdir)
|
if head.startswith('/tmp') and tail:
|
||||||
|
return delete_dir(tmpdir)
|
||||||
|
return False
|
||||||
|
|
||||||
def delete_storedir(store_dir):
|
def delete_storedir(store_dir):
|
||||||
"""
|
"""
|
||||||
|
6
setup.py
6
setup.py
@ -41,12 +41,12 @@ class build_osc(distutils.command.build.build, object):
|
|||||||
|
|
||||||
addparams = {}
|
addparams = {}
|
||||||
if HAVE_PY2EXE:
|
if HAVE_PY2EXE:
|
||||||
addparams['console'] = [{'script': 'osc-wrapper.py', 'icon_resources': [(1, 'osc.ico')]}]
|
addparams['console'] = [{'script': 'osc-wrapper.py', 'dest_base': 'osc', 'icon_resources': [(1, 'osc.ico')]}]
|
||||||
addparams['zipfile'] = 'shared.lib'
|
addparams['zipfile'] = 'shared.lib'
|
||||||
addparams['options'] = {'py2exe': { 'optimize': 2, 'compressed': True }}
|
addparams['options'] = {'py2exe': { 'optimize': 0, 'compressed': True, 'packages': ['xml.etree', 'StringIO', 'gzip'] }}
|
||||||
|
|
||||||
data_files = []
|
data_files = []
|
||||||
if sys.platform != 'win32':
|
if sys.platform[:3] != 'win':
|
||||||
data_files.append((os.path.join('share','man','man1'), [os.path.join('build', 'osc.1.gz')]))
|
data_files.append((os.path.join('share','man','man1'), [os.path.join('build', 'osc.1.gz')]))
|
||||||
|
|
||||||
setup(name='osc',
|
setup(name='osc',
|
||||||
|
Loading…
Reference in New Issue
Block a user