[Libreoffice-commits] dev-tools.git: gerritbot/send-daily-digest
gerritbot/send-daily-digest |3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) New commits: commit 2eb30f4f83c417e97095a87f99fa915c1fc86b39 Author: Mathias Michel Date: Wed Sep 24 00:23:58 2014 +0200 fdo#84227 Use only last patchset for modules Change-Id: I5a1804507e1161aef2514dadb019d74eacfdae61 Reviewed-on: https://gerrit.libreoffice.org/11614 Reviewed-by: David Ostrovsky Reviewed-by: Mathias M Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara diff --git a/gerritbot/send-daily-digest b/gerritbot/send-daily-digest index 19cb5b5..1fea363 100755 --- a/gerritbot/send-daily-digest +++ b/gerritbot/send-daily-digest @@ -43,8 +43,7 @@ def get_digest(query): change = json.loads(line) if 'url' in change.keys(): if do_fresh: # we are in new changes -fpaths = (set([fileobj['file'] for pset in change['patchSets'] -for fileobj in pset['files']])) +fpaths = (set([fileobj['file'] for fileobj in change['patchSets'][-1]['files']])) fpaths.remove('/COMMIT_MSG') # we assume gerrit replies with no leading slash # if no subfolder, module is "build" ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/04/1704/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/78/2978/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/04/1704/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/00/1100/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/78/2978/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/04/1704/3'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/89/9089/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/16/1816/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/70/870/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/82/4182/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/82/4182/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/71/871/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/16/1816/2'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Changes to 'refs/changes/33/1233/1'
___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] dev-tools.git: lionss/application lionss/config.py lionss/_lionss lionss/lionss.py lionss/openshift.htaccess lionss/README.md lionss/static lionss/tpl
lionss/README.md | 53 + lionss/_lionss/gitter.py | 85 lionss/application | 21 +++ lionss/config.py | 20 ++ lionss/lionss.py | 110 + lionss/openshift.htaccess |2 lionss/static/README | 12 lionss/static/header.png |binary lionss/static/libreoffice-logo.png |binary lionss/static/lionss.css | 42 ++ lionss/tpl/error.html |9 +++ lionss/tpl/footer.html |8 ++ lionss/tpl/header.html | 21 +++ lionss/tpl/index.html | 19 ++ lionss/tpl/result.html | 30 ++ 15 files changed, 432 insertions(+) New commits: commit f23794f494e7fd020436a7992f6260f18c97e2bb Author: Mathias Michel Date: Sun Jul 6 00:10:08 2014 +0200 fdo#39439: Add lionss, the LibreOffice Normative String Searcher python website to find places where a string is defined and used, providing opengrok links. Change-Id: I0fb8ace8217d7f5c9b29f598fbff71f0a1e05cb2 Reviewed-on: https://gerrit.libreoffice.org/10096 Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara diff --git a/lionss/README.md b/lionss/README.md new file mode 100644 index 000..94ea1b9 --- /dev/null +++ b/lionss/README.md @@ -0,0 +1,53 @@ +Lionss +== + +Introduction +-- +The python webapp provides a web GUI to search for UI strings in LO code base, show all occurrences, and let you decide which one you want to search the references for in OpenGrok. + +OpenGrok has some issues which forced us to do this app. Else it would be able to cope with it. + + +Notes on implementation +--- +### Choices + +We used Python 2.7, with `web.py` and `pylev` specific packages. + +We rely on a standard git repository. Due to architecture of .ui files and their references, we cannot use a bare repo now *(at least I don't know how. Well, it is handled by the code, but not supported anymore, actually)*. +We rely on git being in the path. + +Strategy is we query for terms including all letters and same number of occurrences. Then we refine with levenshtein algorithm. So jokers are not allowed in search field. Once we found referenced text in .ui, we search for the same in the sources to provides all its uses, and link them to OpenGrok. + +### WebApp + +We kept the module layout although it is very small, because it is also a training for my Python skills + + Config + +The configuration file holds: + +* the git repo path +* the OpenGrok LO base url for queries +* the analysis config: file extensions, patterns for deciphering. It is held in a dict as we may want more items later (we had with [hs]rc + ui). + +### Script + +Not done since moving to .ui makes current work invalid. I will wait for validation of webapp before going into script. + +*Draft* : The python script does roughly the same workflow, but shows you file paths and lines so you can go through them in your shell. + +### Deployment + ++ Bundled webserver of `web.py` : smooth ++ Managed to configure Apache + mod_wsgi : some tricks, but that's Apache ++ Tried heroku, but lack of filesystem (was simple, though) ++ Tried OpenShift: has a small quota filesystem (1GB) for the free plan, but is a pain to configure + + A first level is almost useless, because wsgi expects either a ./wsgi.py or a /wsgi with some content. + + static files are expected in a specific place, so if you want to keep the framework struct, you need a `.htaccess` to redirect that. + + doesn't accept a module folder whose name is the same as base script. + + To keep in the 1GB allowed: ++ `git clone -n --single-branch git://gerrit.libreoffice.org/core lo_core (~900MB out of 1GB)` ++ `git config core.sparsecheckout true` ++ `echo *.ui > .git/info/sparse-checkout` ++ `git grep -l "" HEAD -- *.ui | awk -F: '{print $2}' | xargs git checkout HEAD --` diff --git a/lionss/_lionss/__init__.py b/lionss/_lionss/__init__.py new file mode 100644 index 000..e69de29 diff --git a/lionss/_lionss/gitter.py b/lionss/_lionss/gitter.py new file mode 100644 index 000..6902f23 --- /dev/null +++ b/lionss/_lionss/gitter.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +import subprocess +import os +import pylev # levenstein module + +class worker: +def __init__(self, needle, case, repo_path): +self.goal = needle +self.case = case +self.proposals = dict() + +if os.path.exists(os.path.join(repo_pat
[Libreoffice-commits] dev-tools.git: gerritbot/send-daily-digest
gerritbot/send-daily-digest |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 4242f42c2bb6434effca271fd2f83bfc6d0bb813 Author: Mathias Michel Date: Sun Jul 6 01:20:20 2014 +0200 [send-daily-digest] Fix bare repo not forwarding branch. The fetch command for the reference repository only updated the fetch index and never pushed it forward, so git shortlog afterwards always stayed back in time. Change-Id: Id03d00b17f2cafc31c3229084c4893e45e2d9023 Reviewed-on: https://gerrit.libreoffice.org/10097 Reviewed-by: Björn Michaelsen Tested-by: Björn Michaelsen diff --git a/gerritbot/send-daily-digest b/gerritbot/send-daily-digest index 79d86b8..19cb5b5 100755 --- a/gerritbot/send-daily-digest +++ b/gerritbot/send-daily-digest @@ -73,7 +73,7 @@ def init_freshers(): if not os.path.exists(os.path.join(repo_dir,'config')): subprocess.call(['git','clone','--bare','git://gerrit.libreoffice.org/core',repo_dir]) else: -subprocess.call(['git','fetch','origin']) +subprocess.call(['git','fetch','origin','master:master']) return subprocess.check_output(['git','shortlog','-s','master']) ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
fdo#63315: sign windows binaries during build
Hello See https://bugs.freedesktop.org/show_bug.cgi?id=63315 From the Cloph's comment it seems the issue is fixed but with room for improvement. Should we close it or not ? ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Libreoffice-commits] core.git: bin/test-hid-vs-ui.py
bin/test-hid-vs-ui.py | 156 ++ 1 file changed, 156 insertions(+) New commits: commit fa8e3464c8760dcbd774a9fc8d79e9489a7c1bdf Author: Mathias Michel Date: Fri Apr 18 00:58:56 2014 +0200 fdo#67350 : sanity check utility for help ids wrt ui files Change-Id: I2407d7b0ccdc592fde3da073a6ee2d40537fbe5f Reviewed-on: https://gerrit.libreoffice.org/9089 Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara diff --git a/bin/test-hid-vs-ui.py b/bin/test-hid-vs-ui.py new file mode 100755 index 000..232d978 --- /dev/null +++ b/bin/test-hid-vs-ui.py @@ -0,0 +1,156 @@ +#!/usr/bin/env python +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, you can obtain one at http://mozilla.org/MPL/2.0/. +# +# Parses all help files (.xhp) to check that hids referencing .ui are up-to-date +# From fdo#67350 + + +import sys +import argparse +import os +import subprocess +import xml.etree.ElementTree as ET +import collections +import re +import smtplib +import email +import email.mime.text +import time +import datetime + +# retrieve all hids related to .ui files +def init_hids(): +global args, local_repo +if local_repo: +repo_dir = os.path.join(core_repo_dir,'helpcontent2') +os.chdir(repo_dir) +return subprocess.check_output(['git','grep','hid="[^"]*/[^"]*">','.']) +else: +repo_dir = '/var/tmp/help.git' +if not os.path.exists(repo_dir):os.makedirs(repo_dir) +os.chdir(repo_dir) + +if not os.path.exists(os.path.join(repo_dir,'config')): + subprocess.call(['git','clone','--bare','git://gerrit.libreoffice.org/help',repo_dir]) +elif not args['git_static']: +subprocess.call(['git','fetch','origin']) +return subprocess.check_output(['git','grep','hid="[^"]*/[^"]*">','master','--']) + +# retrieve .ui files list from the core +def init_core_files(): +global core_repo_dir, local_repo +core_repo_dir = args['core_repo_dir'] +if core_repo_dir is None: +core_repo_dir = os.path.dirname(os.path.abspath(os.path.dirname(sys.argv[0]))) +local_repo = True + +if not os.path.exists(core_repo_dir):os.makedirs(core_repo_dir) +os.chdir(core_repo_dir) + +if not os.path.exists(os.path.join(core_repo_dir,'.git')): + subprocess.call(['git','clone','git://gerrit.libreoffice.org/core',core_repo_dir]) +elif not args['git_static']: +subprocess.call(['git','fetch','origin']) +allfiles = subprocess.check_output(['git','ls-tree','--name-only','--full-name','-r','master']) +return '\n'.join(re.findall('.*\.ui',allfiles)) + + +if __name__ == "__main__": + +parser = argparse.ArgumentParser('hid for ui consistency parser') +parser.add_argument('-s', '--send-to', action='append', help='email address to send the report to. Use one flag per address.', required=False) +parser.add_argument('-g', '--git-static', action='store_true', help='to avoid contacting remote server to refresh repositories.', required=False) +parser.add_argument('-r', '--core-repo-dir', help='enforce path to core repository when analyzing .ui files.', required=False) +args=vars(parser.parse_args()) + +uifileslist = init_core_files() # play it early to gain the local repo identification + +rows = init_hids().splitlines() +#:: +# handled as sets to remove duplicates (and we don't need an iterator) +targets = collections.defaultdict(set) +origin = collections.defaultdict(set) + +# fill all matching hids and their parent file +for row in rows: +fname, rawtext = row.split(':',1)[0:] +hid = rawtext.split('hid="')[1].split('"')[0] +if hid.startswith('.uno'): continue +uifileraw, compname = hid.rsplit('/',1) +uifile = uifileraw.split('/',1)[1] + ".ui" # remove modules/ which exist only in install +targets[uifile].add(compname.split(':')[0]) +origin[uifile].add(fname) # help file(s) + +errors = '' +# search in all .ui files referenced in help +# 2 possible errors: file
[Libreoffice-commits] dev-tools.git: scripts/test-hid-vs-ui.py
scripts/test-hid-vs-ui.py | 150 ++ 1 file changed, 150 insertions(+) New commits: commit 6baa958036df478462427e4259c28c82e5d65adb Author: Mathias Michel Date: Thu Mar 20 02:11:07 2014 +0100 fdo#67350 : sanity check utility for help ids wrt ui files Change-Id: Ic7301fbb1fe3669a3d00893b6e9c8ec90b5d467e Reviewed-on: https://gerrit.libreoffice.org/8668 Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara diff --git a/scripts/test-hid-vs-ui.py b/scripts/test-hid-vs-ui.py new file mode 100755 index 000..27fc068 --- /dev/null +++ b/scripts/test-hid-vs-ui.py @@ -0,0 +1,150 @@ +#!/usr/bin/env python +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, you can obtain one at http://mozilla.org/MPL/2.0/. +# +# Parses all help files (.xhp) to check that hids referencing .ui are up-to-date +# From fdo#67350 + + +import sys +import argparse +import os +import subprocess +import xml.etree.ElementTree as ET +import collections +import re +import smtplib +import email +import email.mime.text +import time +import datetime + +# retrieve all hids related to .ui files +def init_hids(): +global args +repo_dir='/var/tmp/help.git' +if not os.path.exists(repo_dir):os.makedirs(repo_dir) +os.chdir(repo_dir) + +if not os.path.exists(os.path.join(repo_dir,'config')): + subprocess.call(['git','clone','--bare','git://gerrit.libreoffice.org/help',repo_dir]) +elif not args['git_static']: +subprocess.call(['git','fetch','origin']) +return subprocess.check_output(['git','grep','hid="[^"]*/[^"]*">','master','--']) + +# retrieve .ui files list from the core +def init_core_files(): +global core_repo_dir +core_repo_dir = args['core_repo_dir'] +if core_repo_dir is None: core_repo_dir = '/var/tmp/core.git' + +if not os.path.exists(core_repo_dir):os.makedirs(core_repo_dir) +os.chdir(core_repo_dir) + +if not os.path.exists(os.path.join(core_repo_dir,'.git')): + subprocess.call(['git','clone','git://gerrit.libreoffice.org/core',core_repo_dir]) +elif not args['git_static']: +subprocess.call(['git','fetch','origin']) +allfiles = subprocess.check_output(['git','ls-tree','--name-only','--full-name','-r','master']) +return '\n'.join(re.findall('.*\.ui',allfiles)) + + +if __name__ == "__main__": + +parser = argparse.ArgumentParser('hid for ui consistency parser') +parser.add_argument('-s', '--send-to', action='append', help='email address to send the report to. Use one flag per address.', required=False) +parser.add_argument('-g', '--git-static', action='store_true', help='to avoid contacting remote server to refresh repositories.', required=False) +parser.add_argument('-r', '--core-repo-dir', help='enforce path to core repository when analyzing .ui files.', required=False) +args=vars(parser.parse_args()) + +rows = init_hids().splitlines() +#:: +# handled as sets to remove duplicates (and we don't need an iterator) +targets = collections.defaultdict(set) +origin = collections.defaultdict(set) + +# fill all matching hids and their parent file +for row in rows: +fname, rawtext = row.split(':',2)[1:] +hid = rawtext.split('hid="')[1].split('"')[0] +if hid.startswith('.uno'): continue +uifileraw, compname = hid.rsplit('/',1) +uifile = uifileraw.split('/',1)[1] + ".ui" # remove modules/ which exist only in install +targets[uifile].add(compname.split(':')[0]) +origin[uifile].add(fname) # help file(s) + +uifileslist = init_core_files() +# allfiles = init_core_files() +# uifileslist = '\n'.join(re.findall('.*\.ui',allfiles)) +errors = '' +# search in all .ui files referenced in help +# 2 possible errors: file not found in repo, id not found in file +for uikey in dict.keys(targets): +if uikey not in uifileslist: +if len(origin[uikey]) == 1: +errors += '\nFrom ' + origin[uikey].pop() +else: +errors += '\nFrom one of ' + str(origin[
[Libreoffice-commits] dev-tools.git: gerritbot/send-daily-digest
gerritbot/send-daily-digest |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 362e11ede8be6fd4b85eb6ed6bfdaf6b946f43b4 Author: Mathias Michel Date: Thu Jan 30 22:57:21 2014 +0100 Finally fix the new commiters issue in mail digest Change-Id: I0555dd87a166641e6f6cb75839274623533acfe1 Reviewed-on: https://gerrit.libreoffice.org/7752 Reviewed-by: Norbert Thiebaud Tested-by: Norbert Thiebaud diff --git a/gerritbot/send-daily-digest b/gerritbot/send-daily-digest index 6786db3..79d86b8 100755 --- a/gerritbot/send-daily-digest +++ b/gerritbot/send-daily-digest @@ -74,7 +74,7 @@ def init_freshers(): subprocess.call(['git','clone','--bare','git://gerrit.libreoffice.org/core',repo_dir]) else: subprocess.call(['git','fetch','origin']) -return subprocess.check_output(['git','shortlog','-s']) +return subprocess.check_output(['git','shortlog','-s','master']) def get_project_body(project): ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] dev-tools.git: gerritbot/send-daily-digest
gerritbot/send-daily-digest | 46 +++- 1 file changed, 33 insertions(+), 13 deletions(-) New commits: commit b5807dd80ff79305bb01dbd2a5101cef3a2a7864 Author: Mathias Michel Date: Sun Nov 24 02:19:38 2013 +0100 fdo#71911 : show the top level dir of a new change use the gerrit query to get the info since gerrit does not really create refs And then we don't have patches in the repo. (see http://gerrit-documentation.googlecode.com/svn/Documentation/2.3/user-upload.html#_gritty_details) restore mail for other repos small format on long lines Change-Id: Iccce0eb3c1a2c7e17fc6716d61917944ec05d6cf Reviewed-on: https://gerrit.libreoffice.org/6793 Reviewed-by: Björn Michaelsen Tested-by: Björn Michaelsen diff --git a/gerritbot/send-daily-digest b/gerritbot/send-daily-digest old mode 100644 new mode 100755 index 899fe2e..cf31f98 --- a/gerritbot/send-daily-digest +++ b/gerritbot/send-daily-digest @@ -26,24 +26,40 @@ def get_daily_query(status, project): def get_digest(query): digest = '' freshers = '' +do_module = [] +about = '' # we want first time contributors on new changes for core -do_fresh = query.split(':')[1].split(' ')[0] == 'core' and \ - query.split(':')[3].split(' ')[0] == 'open' and \ - query.split(':')[3].split(' ')[1] == '-age' +do_fresh = (query.split(':')[1].split(' ')[0] == 'core' and +query.split(':')[3].split(' ')[0] == 'open' and +query.split(':')[3].split(' ')[1] == '-age' ) -if do_fresh: all_users = init_freshers() +if do_fresh: +all_users = init_freshers() +do_module = ['--files', '--patch-sets'] -for line in sh.ssh(args['gerrit'], 'gerrit query --format=JSON -- \'%s\'' % query).encode('utf8').strip().split('\n'): +for line in subprocess.check_output(['ssh', args['gerrit'], 'gerrit', 'query'] + do_module + +['--format=JSON','--', "'" + query +"'"]).strip().splitlines(): change = json.loads(line) if 'url' in change.keys(): +if do_fresh: # we are in new changes +fpaths = (set([fileobj['file'] for pset in change['patchSets'] +for fileobj in pset['files']])) +fpaths.remove('/COMMIT_MSG') +# we assume gerrit replies with no leading slash +# if no subfolder, module is "build" +about = '\n about module ' + ', '.join(sorted(set([p.split('/')[0] +if '/' in p else 'build' for p in fpaths]))) + if do_fresh and change['owner']['name'].encode('utf8') not in all_users: -freshers += '+ %s\n in %s from %s\n' % (change['subject'][:73], change['url'], change['owner']['name']) +freshers += '+ %s\n in %s from %s%s\n' % (change['subject'][:73], +change['url'], change['owner']['name'], about) else: -digest += '+ %s\n in %s from %s\n' % (change['subject'][:73], change['url'], change['owner']['name']) +digest += '+ %s\n in %s from %s%s\n' % (change['subject'][:73], +change['url'], change['owner']['name'], about) if freshers != '': -digest = ' First time contributors doing great things ! \n' + freshers + \ - " End of freshness \n\n" + digest +digest = (' First time contributors doing great things ! \n' + freshers + + " End of freshness \n\n" + digest ) if digest == '': digest = 'None' return digest @@ -64,17 +80,20 @@ def init_freshers(): def get_project_body(project): none = True -body = '* Open changes on master for project %s changed in the last %d hours:\n\n' % (project, args['age']) +body = ('* Open changes on master for project %s changed in the last %d hours:\n\n' +% (project, args['age'])) dig = get_digest(get_daily_query('open', project)) if dig != 'None
[Libreoffice-commits] dev-tools.git: gerritbot/send-daily-digest
gerritbot/send-daily-digest | 38 ++ 1 file changed, 34 insertions(+), 4 deletions(-) New commits: commit 251933c6163b9d323f521275907dd08f54a997ce Author: Mathias Michel Date: Wed Oct 30 01:44:27 2013 +0100 Implement fdo#70682 : first commits more visible in mail digest Limited to core repo on open submissions in gerrit Also fix the dev-tools project name for submissions Change-Id: I11ce5c01443c5b279c1a3a79a5440f7dffd2f67e Reviewed-on: https://gerrit.libreoffice.org/6481 Reviewed-by: Björn Michaelsen Tested-by: Björn Michaelsen diff --git a/gerritbot/send-daily-digest b/gerritbot/send-daily-digest old mode 100755 new mode 100644 index ea3f9b5..899fe2e --- a/gerritbot/send-daily-digest +++ b/gerritbot/send-daily-digest @@ -15,6 +15,7 @@ import email import email.mime.text import json import os +import subprocess import sh import smtplib import sys @@ -24,14 +25,42 @@ def get_daily_query(status, project): def get_digest(query): digest = '' -for line in sh.ssh(args['gerrit'], 'gerrit query --format=JSON -- \'%s\'' % query).strip().split('\n'): +freshers = '' + +# we want first time contributors on new changes for core +do_fresh = query.split(':')[1].split(' ')[0] == 'core' and \ + query.split(':')[3].split(' ')[0] == 'open' and \ + query.split(':')[3].split(' ')[1] == '-age' + +if do_fresh: all_users = init_freshers() + +for line in sh.ssh(args['gerrit'], 'gerrit query --format=JSON -- \'%s\'' % query).encode('utf8').strip().split('\n'): change = json.loads(line) if 'url' in change.keys(): -digest += '+ %s\n in %s from %s\n' % (change['subject'][:73], change['url'], change['owner']['name']) +if do_fresh and change['owner']['name'].encode('utf8') not in all_users: +freshers += '+ %s\n in %s from %s\n' % (change['subject'][:73], change['url'], change['owner']['name']) +else: +digest += '+ %s\n in %s from %s\n' % (change['subject'][:73], change['url'], change['owner']['name']) +if freshers != '': +digest = ' First time contributors doing great things ! \n' + freshers + \ + " End of freshness \n\n" + digest if digest == '': digest = 'None' return digest + +def init_freshers(): +repo_dir='/var/tmp/core.git' +if not os.path.exists(repo_dir):os.makedirs(repo_dir) +os.chdir(repo_dir) + +if not os.path.exists(os.path.join(repo_dir,'config')): + subprocess.call(['git','clone','--bare','git://gerrit.libreoffice.org/core',repo_dir]) +else: +subprocess.call(['git','fetch','origin']) +return subprocess.check_output(['git','shortlog','-s']) + + def get_project_body(project): none = True @@ -97,6 +126,7 @@ Note: The bot generating this message can be found and improved here: msg['Subject'] = 'LibreOffice Gerrit News for %s on %s' % (project, now.date().isoformat()) msg['Reply-To'] = msg_to[0] msg['X-Mailer'] = 'LibreOfficeGerritDigestMailer 1.1' + server.sendmail(msg_from, msg_to, str(msg)) server.quit() return project @@ -104,7 +134,7 @@ Note: The bot generating this message can be found and improved here: if __name__ == '__main__': parser = argparse.ArgumentParser('gerrit daily digest generator') parser.add_argument('-g', '--gerrit', help='(i. e. logerrit or gerrit.libreoffice.org, use the alias in your ~/.ssh(config with your public key)', required=True) -parser.add_argument('-r', '--repo', help='(A single project from gerrit (core, ...) or "submodules" (... of core) or "all" (core + contrib + submodules)', required=False, default='all') +parser.add_argument('-r', '--repo', help='(A single project from gerrit (core, ...) or "submodules" (... of core) or "all" (core + dev-tools + submodules)', required=False, default='all') parser.add_argument('-a', '--age', help='(A number expressed in hours.)', required=False, default=25) args=vars(parser.parse_args()) msg_from = 'ger...@libreoffice.org' @@ -114,7 +144,7 @@ if __name__ == '__main__': if args['repo'] == 'all': send_message_for_project('core') send_message_for_project('submodules') -send_message_for_project('contrib') +send_message_for_project('dev-tools') else: send_message_for_project(args['repo']) ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] dev-tools.git: gerritbot/send-daily-digest
gerritbot/send-daily-digest | 96 +--- 1 file changed, 73 insertions(+), 23 deletions(-) New commits: commit 8ef490cebaf16778f18896448fa454c158368cef Author: Mathias Michel Date: Fri Sep 13 00:22:02 2013 +0200 Gerrit mailer: generalization add support for any project add support for special satellite projects of Libreoffice do not send if empty default commandline will handle core, submodules and contrib Change-Id: I642d9ab027c5067cef0502d2f62fa2440623270f Reviewed-on: https://gerrit.libreoffice.org/5927 Reviewed-by: Björn Michaelsen Tested-by: Björn Michaelsen diff --git a/gerritbot/send-daily-digest b/gerritbot/send-daily-digest index 5f8d937..ea3f9b5 100755 --- a/gerritbot/send-daily-digest +++ b/gerritbot/send-daily-digest @@ -19,12 +19,12 @@ import sh import smtplib import sys -def get_daily_query(status, age): -return 'project:core branch:master status:%s -age:%dh' % (status, age) +def get_daily_query(status, project): +return 'project:%s branch:master status:%s -age:%dh' % (project, status, args['age']) -def get_digest(gerrit, query): +def get_digest(query): digest = '' -for line in sh.ssh(gerrit, 'gerrit query --format=JSON -- \'%s\'' % query).strip().split('\n'): +for line in sh.ssh(args['gerrit'], 'gerrit query --format=JSON -- \'%s\'' % query).strip().split('\n'): change = json.loads(line) if 'url' in change.keys(): digest += '+ %s\n in %s from %s\n' % (change['subject'][:73], change['url'], change['owner']['name']) @@ -32,17 +32,55 @@ def get_digest(gerrit, query): digest = 'None' return digest -def create_message(gerrit, age): +def get_project_body(project): +none = True + +body = '* Open changes on master for project %s changed in the last %d hours:\n\n' % (project, args['age']) +dig = get_digest(get_daily_query('open', project)) +if dig != 'None': none = False +body += dig + +body += '\n\n* Merged changes on master for project %s changed in the last %d hours:\n\n' % (project, args['age']) +dig = get_digest(get_daily_query('merged', project)) +if dig != 'None': none = False +body += dig + +body += '\n\n* Abandoned changes on master for project %s changed in the last %d hours:\n\n' % (project, args['age']) +dig = get_digest(get_daily_query('abandoned', project)) +if dig != 'None': none = False +body += dig + +body += '\n\n* Open changes needing tweaks, but being untouched for more than a week:\n\n' +dig = get_digest('project:%s branch:master status:open (label:Code-Review<=-1 OR label:Verified<=-1) age:1w' % project) +if dig != 'None': none = False +body += dig + +if none: return "" +else: return body + +def send_message_for_project(project): now = datetime.datetime.now() +nothing = 'Nothing moved in the project for the last %d hours' % args['age'] body = 'Moin!\n\n' -body += '* Open changes on master for project core changed in the last %d hours:\n\n' % age -body += get_digest(gerrit, get_daily_query('open', age)) -body += '\n\n* Merged changes on master for project core changed in the last %d hours:\n\n' % age -body += get_digest(gerrit, get_daily_query('merged', age)) -body += '\n\n* Abandoned changes on master for project core changed in the last %d hours:\n\n' % age -body += get_digest(gerrit, get_daily_query('abandoned', age)) -body += '\n\n* Open changes needing tweaks, but being untouched for more than a week:\n\n' -body += get_digest(gerrit, 'project:core branch:master status:open (label:Code-Review<=-1 OR label:Verified<=-1) age:1w') + +if project == 'submodules': +dict = get_project_body('dictionaries') +tran = get_project_body('translations') +help = get_project_body('help') + +if dict + tran + help == "": return 'Nothing' + +body += '\n\n~~ Project dictionaries ~~\n\n' +body += dict if bool(dict) else nothing +body += '\n\n~~ Project translations ~~\n\n' +body += tran if bool(tran) else nothing +body += '\n\n~~ Project help ~~\n\n' +body += help if bool(help) else nothing +else: +proj = get_project_body(project) +if proj == "": return 'Nothing' +body += proj + body +=
[Libreoffice-commits] dev-tools.git: gerritbot/minilog.pyc gerritbot/send-daily-digest
gerritbot/minilog.pyc |binary gerritbot/send-daily-digest |4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) New commits: commit ef48d775c8baa039e2f16ef7da928d99c2c27994 Author: Mathias Michel Date: Fri Jun 21 10:35:42 2013 +0200 Update itemization's output diff --git a/gerritbot/minilog.pyc b/gerritbot/minilog.pyc new file mode 100644 index 000..7fdda87 Binary files /dev/null and b/gerritbot/minilog.pyc differ diff --git a/gerritbot/send-daily-digest b/gerritbot/send-daily-digest index 278605f..8d92c84 100755 --- a/gerritbot/send-daily-digest +++ b/gerritbot/send-daily-digest @@ -27,7 +27,7 @@ def get_digest(gerrit, query): for line in sh.ssh(gerrit, 'gerrit query --format=JSON -- \'%s\'' % query).strip().split('\n'): change = json.loads(line) if 'url' in change.keys(): -digest += '%s\nin %s from %s\n' % (change['subject'].ljust(75)[:75], change['url'], change['owner']['name']) +digest += '+ %s\n in %s from %s\n' % (change['subject'][:73], change['url'], change['owner']['name']) if digest == '': digest = 'None' return digest @@ -41,7 +41,7 @@ def create_message(gerrit, age): body += get_digest(gerrit, get_daily_query('merged', age)) body += '\n\n* Abandoned changes on master for project core changed in the last %d hours:\n\n' % age body += get_digest(gerrit, get_daily_query('abandoned', age)) -body += '\n\n* Open changes needing tweaks, but being untouched for more than a week:\n' +body += '\n\n* Open changes needing tweaks, but being untouched for more than a week:\n\n' body += get_digest(gerrit, 'project:core branch:master status:open (label:Code-Review<=-1 OR label:Verified<=-1) age:1w') body += ''' ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: configure.ac external/Module_external.mk scp2/InstallModule_windows.mk
configure.ac | 13 ++--- external/Module_external.mk |2 +- scp2/InstallModule_windows.mk |2 +- 3 files changed, 12 insertions(+), 5 deletions(-) New commits: commit 8e784b59f1c1ce33dc95a6c591ee514383b28f3f Author: Mathias Michel Date: Fri Jun 7 01:38:45 2013 +0200 Build: fix non-existent merge modules for MS Visual Studio Express versions Change-Id: Id19f3fde0803e9242ca1e7279fd814262c74f6ef Reviewed-on: https://gerrit.libreoffice.org/4182 Reviewed-by: Andras Timar Tested-by: Andras Timar diff --git a/configure.ac b/configure.ac index 236e683..374fd40 100644 --- a/configure.ac +++ b/configure.ac @@ -4831,6 +4831,7 @@ find_winsdk() find_msms() { +AC_MSG_NOTICE([checking msms ==]) for ver in 10.0 11.0; do reg_get_value HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/VisualStudio/$ver/Setup/VS/MSMDir if test -n "$regvalue"; then @@ -4847,10 +4848,15 @@ find_msms() msmdir=`cygpath -d "$msmdir"` msmdir=`cygpath -u "$msmdir"` if test -z "$msmdir"; then -AC_MSG_ERROR([Merge modules not found]) +if test "$ENABLE_RELEASE_BUILD" = "FALSE" ; then +AC_MSG_WARN([Merge modules not found in $msmdir]) +msmdir="" +else +AC_MSG_ERROR([Merge modules not found in $msmdir]) +fi +else +msms="Microsoft_VC${VCVER}_CRT_x86.msm" fi - -msms="Microsoft_VC${VCVER}_CRT_x86.msm" } find_msvc_x64_dlls() @@ -6052,6 +6058,7 @@ if test $_os = "WINNT" -a "$WITH_MINGW" != yes; then MERGE_MODULES="$msms" SCPDEFS="$SCPDEFS -DWITH_VC${VCVER}_REDIST" fi + AC_SUBST(MSVC_DLL_PATH) AC_SUBST(MSVC_DLLS) AC_SUBST(MSVC_DEBUG_DLL_PATH) diff --git a/external/Module_external.mk b/external/Module_external.mk index b81654a..8cda13e 100644 --- a/external/Module_external.mk +++ b/external/Module_external.mk @@ -24,7 +24,7 @@ endif ifeq ($(COM),MSC) $(eval $(call gb_Module_add_targets,external,\ Package_dbghelp \ - Package_msms \ + $(if $(MSM_PATH),Package_msms) \ Package_msvc_dlls \ $(if $(MSVC_USE_DEBUG_RUNTIME),Package_msvc_dlls_debug) \ $(if $(filter YES,$(WITH_MOZAB4WIN)),Package_msvc80_dlls) \ diff --git a/scp2/InstallModule_windows.mk b/scp2/InstallModule_windows.mk index 0caaa47..296f7fc 100644 --- a/scp2/InstallModule_windows.mk +++ b/scp2/InstallModule_windows.mk @@ -21,7 +21,7 @@ $(eval $(call gb_InstallModule_add_defs,scp2/windows,\ $(eval $(call gb_InstallModule_add_scpfiles,scp2/windows,\ scp2/source/ooo/folder_ooo \ -scp2/source/ooo/vc_redist \ +$(if $(MSM_PATH),scp2/source/ooo/vc_redist) \ scp2/source/ooo/windowscustomaction_ooo \ )) ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
to prijnt
-- Mathias textes springsteen.odt Description: application/vnd.oasis.opendocument.text ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Libreoffice-commits] core.git: configure.ac
configure.ac | 46 +++--- 1 file changed, 27 insertions(+), 19 deletions(-) New commits: commit c98c94a8684802e50b4ab5b6de52a15e61c2d913 Author: Mathias Michel Date: Sun Mar 24 23:41:37 2013 +0100 Fix bashism in configure.ac Change-Id: I574e873fede3343b2384715162dcecce86563db3 Reviewed-on: https://gerrit.libreoffice.org/2978 Reviewed-by: Fridrich Strba Tested-by: Fridrich Strba diff --git a/configure.ac b/configure.ac index 0e28c65..089df41 100644 --- a/configure.ac +++ b/configure.ac @@ -11387,36 +11387,44 @@ dnl branding dnl === AC_MSG_CHECKING([for alternative branding images directory]) # initialize mapped arrays -brand_vars=(INTRO_BITMAP ABOUT_BACKGROUND_SVG FLAT_LOGO_SVG \ +brand_vars="INTRO_BITMAP ABOUT_BACKGROUND_SVG FLAT_LOGO_SVG \ STARTCENTER_LEFT_BITMAP STARTCENTER_RIGHT_BITMAP \ STARTCENTER_RTL_LEFT_BITMAP STARTCENTER_RTL_RIGHT_BITMAP \ -STARTCENTER_SPACE_BITMAP) -brand_files=(intro.png about.svg flat_logo.svg \ +STARTCENTER_SPACE_BITMAP" +brand_files="intro.png about.svg flat_logo.svg \ backing_left.png backing_right.png \ backing_rtl_left.png backing_rtl_right.png \ -backing_space.png) +backing_space.png" +brandmaxidx=0 -for i in $(echo ${brand_vars[[@]]}) +for i in $brand_vars do - declare $i= +declare $i= +let "brandmaxidx=$brandmaxidx + 1" done if test -z "$with_branding" -o "$with_branding" = "no"; then AC_MSG_RESULT([none]) else -idx=0 -while test $idx -lt ${#brand_vars[@]} -do -if ! test -f $with_branding/${brand_files[[$idx]]} -then -AC_MSG_WARN([Branded file $i does not exist, using the default one]) -else -declare ${brand_vars[[$idx]]}="$with_branding/${brand_files[[$idx]]}" -fi -let "idx=$idx + 1" -done -check_for_progress="yes" -AC_MSG_RESULT([$with_branding]) +if ! test -d $with_branding ; then +AC_MSG_ERROR([No directory $with_branding, falling back to default branding]) +else +AC_MSG_RESULT([$with_branding]) +idx=1 +while test $idx -le $brandmaxidx +do +lvar=$(echo $brand_vars | cut -f$idx -d" ") +lfile=$(echo $brand_files | cut -f$idx -d" ") + +if ! test -f $with_branding/$lfile ; then +AC_MSG_WARN([Branded file $lfile does not exist, using the default one]) +else +declare lvar="$with_branding/$lfile" +fi +let "idx=$idx + 1" +done +check_for_progress="yes" +fi fi AC_SUBST(INTRO_BITMAP) AC_SUBST(ABOUT_BACKGROUND_SVG) ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
submodules issue on cygwin
Hello When I try to build master since submodules were introduced, I got a failure with this message: Entering /cygdrive/d/src/libo/tail_build/prj gbuild module /cygdrive/d/src/libo/tail_build: /opt/lo/bin/make -f Makefile -j4 -rs all slowcheck gb_PARTIALBUILD=T D:/src/libo/Module_tail_build.mk:27: /cygdrive/d/src/libo//translations/Module_translations.mk: No such file or directory Makefile:17: *** Corrupted module target stack! . Stop. I don't know where the double / comes from. When I check: - libo/translations is a directory containing 2 files: .git & .gitignore - libo/core/translations contains the git repo with its workdir What could be missing here ? git version is 1.7.9 mm@FAUCON /cygdrive/d/src/libo/clone/translations $ git log -n 1 --decorate --oneline 2548be5 (HEAD, origin/master, origin/feature/submodules, origin/HEAD, master) add a README to the translations module mm@FAUCON /cygdrive/d/src/libo $ git log -n 1 --decorate --oneline bd1c644 (HEAD, origin/master, origin/HEAD, master) remove nonexistant file from Zip_uretest I can provide more logs if needed. just ask. Regards -- Mathias ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice