Hello community, here is the log from the commit of package seafile for openSUSE:Factory checked in at 2020-06-09 00:05:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/seafile (Old) and /work/SRC/openSUSE:Factory/.seafile.new.3606 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "seafile" Tue Jun 9 00:05:05 2020 rev:3 rq:812475 version:7.0.8 Changes: -------- --- /work/SRC/openSUSE:Factory/seafile/seafile.changes 2020-04-10 23:54:10.848739624 +0200 +++ /work/SRC/openSUSE:Factory/.seafile.new.3606/seafile.changes 2020-06-09 00:06:47.065741980 +0200 @@ -1,0 +2,5 @@ +Mon Jun 8 07:53:04 UTC 2020 - Paolo Stivanin <i...@paolostivanin.com> + +- Update to 7.0.8 (no changelog) + +------------------------------------------------------------------- Old: ---- v7.0.7.tar.gz New: ---- v7.0.8.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ seafile.spec ++++++ --- /var/tmp/diff_new_pack.AKylB0/_old 2020-06-09 00:06:50.569754411 +0200 +++ /var/tmp/diff_new_pack.AKylB0/_new 2020-06-09 00:06:50.569754411 +0200 @@ -17,7 +17,7 @@ Name: seafile -Version: 7.0.7 +Version: 7.0.8 Release: 0 Summary: Cloud storage client License: GPL-2.0-only ++++++ v7.0.7.tar.gz -> v7.0.8.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/seafile-7.0.7/configure.ac new/seafile-7.0.8/configure.ac --- old/seafile-7.0.7/configure.ac 2020-04-01 04:48:24.000000000 +0200 +++ new/seafile-7.0.8/configure.ac 2020-06-02 10:58:05.000000000 +0200 @@ -2,7 +2,7 @@ AC_PREREQ(2.61) -AC_INIT([seafile], [7.0.7], [i...@seafile.com]) +AC_INIT([seafile], [7.0.8], [i...@seafile.com]) AC_CONFIG_HEADER([config.h]) AC_CONFIG_MACRO_DIR([m4]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/seafile-7.0.7/daemon/repo-mgr.c new/seafile-7.0.8/daemon/repo-mgr.c --- old/seafile-7.0.7/daemon/repo-mgr.c 2020-04-01 04:48:24.000000000 +0200 +++ new/seafile-7.0.8/daemon/repo-mgr.c 2020-06-02 10:58:05.000000000 +0200 @@ -3719,9 +3719,29 @@ */ if (!is_path_writable(repo->id, repo->is_readonly, event->path)) { + char *filename = g_path_get_basename (event->path); + if (seaf_repo_manager_is_ignored_hidden_file(filename)) { + g_free (filename); + break; + } + g_free (filename); + + char *fullpath = g_build_path(PATH_SEPERATOR, repo->worktree, event->path, NULL); + struct cache_entry *ce = index_name_exists(istate, event->path, strlen(event->path), 0); + SeafStat st; + if (ce != NULL && + seaf_stat (fullpath, &st) == 0 && + ce->ce_mtime.sec == st.st_mtime && + ce->ce_size == st.st_size) { + g_free (fullpath); + break; + } + send_file_sync_error_notification (repo->id, repo->name, event->path, SYNC_ERROR_ID_UPDATE_TO_READ_ONLY_REPO); seaf_debug ("%s is not writable, ignore.\n", event->path); + + g_free (fullpath); break; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/seafile-7.0.7/debian/changelog new/seafile-7.0.8/debian/changelog --- old/seafile-7.0.7/debian/changelog 2020-04-01 04:48:24.000000000 +0200 +++ new/seafile-7.0.8/debian/changelog 2020-06-02 10:58:05.000000000 +0200 @@ -1,3 +1,8 @@ +seafile-daemon (7.0.8) unstable; urgency=low + + * new upstream release + + -- Jonathan Xu <jonathan...@seafile.com> Tue, 2 Jun 2020 16:54:38 +0800 seafile-daemon (7.0.7) unstable; urgency=low * new upstream release diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/seafile-7.0.7/debian/control new/seafile-7.0.8/debian/control --- old/seafile-7.0.7/debian/control 2020-04-01 04:48:24.000000000 +0200 +++ new/seafile-7.0.8/debian/control 2020-06-02 10:58:05.000000000 +0200 @@ -55,7 +55,6 @@ ${python:Depends}, libseafile0 (>= ${binary:Version}), seafile-daemon (>= ${binary:Version}), - python-future, python-searpc (>= 3.1.0) Conflicts: seafile Description: Seafile command line interface. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/seafile-7.0.7/msi/Includes.wxi new/seafile-7.0.8/msi/Includes.wxi --- old/seafile-7.0.7/msi/Includes.wxi 2020-04-01 04:48:24.000000000 +0200 +++ new/seafile-7.0.8/msi/Includes.wxi 2020-06-02 10:58:05.000000000 +0200 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <Include Id="SeafileInclude"> - <?define CurrentSeafileVersion="7.0.7" ?> + <?define CurrentSeafileVersion="7.0.8" ?> <!-- Update Guid 不能变 --> <?define CurrentUpdateGuid="65DED1C8-A5F1-4C49-8E7E-B0A8A5A6535C" ?> @@ -139,7 +139,8 @@ <!-- <?define ProductGuid="A88599F1-1D4D-4E7D-AEFD-53EA5CFDF9E7" ?> (7.0.4) --> <!-- <?define ProductGuid="3A3D3777-A5C1-4089-A2F7-33D55A36E41E" ?> (7.0.5) --> <!-- <?define ProductGuid="9A180890-0EED-4E38-BAB0-A6E148D89F4A" ?> (7.0.6) --> - <?define ProductGuid="1E617234-A273-41F9-8BA7-70C6F1644AC4" ?> + <!-- <?define ProductGuid="1E617234-A273-41F9-8BA7-70C6F1644AC4" ?> (7.0.7) --> + <?define ProductGuid="7944DDB5-1C68-4C9F-9FA5-01224493EFF0" ?> <?define GuidOfCustomComponent="AD201805-3CBD-4834-9097-5D934F7E0000" ?> <?define GuidOfAutoStartComponent="AD201805-3CBD-4834-9097-5D934F7E0001" ?> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/seafile-7.0.7/scripts/breakpad.py new/seafile-7.0.8/scripts/breakpad.py --- old/seafile-7.0.7/scripts/breakpad.py 2020-04-01 04:48:24.000000000 +0200 +++ new/seafile-7.0.8/scripts/breakpad.py 2020-06-02 10:58:05.000000000 +0200 @@ -26,33 +26,74 @@ return subprocess.check_output(cmd, shell=shell, **kw) -def main(): - parser = optparse.OptionParser() - parser.add_option('--output', help='the path of the symbol file.') - args, _ = parser.parse_args() - - seafile_src_dir = dirname(abspath(dirname(__file__))) - os.chdir(seafile_src_dir) - program = 'seaf-daemon.exe' if os.name == 'nt' else 'seaf-daemon' - seaf_daemon = join('daemon', '.libs', program) +def generate_seafile_breakpad_symbol(project_dir, program_name, symbols_output): + """ + :param project_dir : [string] + :param program_name : [string] + :param symbols_output: [string] + :return: None + + generate_seafile_breakpad_symbol + """ + os.chdir(project_dir) + seaf_daemon = join('daemon', '.libs', program_name) if not exists(seaf_daemon): - seaf_daemon = join('daemon', program) + seaf_daemon = join('daemon', program_name) if not exists(seaf_daemon): raise RuntimeError('seaf-daemon executable not found!') symbols = get_command_output('dump_syms {}'.format(seaf_daemon)) - if args.output: - symbol_file = args.output + if symbols_output: + symbol_file = symbols_output else: symbol_id = symbols.splitlines()[0].split()[3] - symbol_dir = join('symbols', program, symbol_id) + symbol_dir = join('symbols', program_name, symbol_id) if not exists(symbol_dir): os.makedirs(symbol_dir) - symbol_file = join(symbol_dir, '{}.sym'.format(program)) + symbol_file = join(symbol_dir, '{}.sym'.format(program_name)) print('symbols written to {}'.format(symbol_file)) with open(symbol_file, 'w') as fp: fp.write(symbols) +def generate_seafile_gui_breakpad_symbol(project_dir, program_name, symbol_output): + """ + :param project_dir: [string] + :param program_name: [string] + :param symbol_output: [string] + :return: None + + generate seafile gui breakpad symbol + """ + + os.chdir(project_dir) + seafile_gui_path = os.path.join(project_dir, program_name) + if not exists(seafile_gui_path): + raise RuntimeError('seafile gui executable not found !') + + symbols = get_command_output('dump_syms {}'.format(seafile_gui_path)) + + with open(symbol_output, 'w') as fp: + fp.write(symbols) + + +def main(): + parser = optparse.OptionParser() + parser.add_option('--projectSrc', help='the project source file directory') + parser.add_option('--name', help='the program name need to generated breakpad symbol') + parser.add_option('--output', help='the path of the symbol file.') + args, _ = parser.parse_args() + + src_dir = args.projectSrc + program_name = args.name + symbols_output = args.output + if program_name == 'seaf-daemon.exe' or program_name == 'seaf-daemon': + # generate seafile breakpad symbols + generate_seafile_breakpad_symbol(src_dir, program_name, symbols_output) + else: + # generate seafile-gui breakpad symbols + generate_seafile_gui_breakpad_symbol(src_dir, program_name, symbols_output) + + if __name__ == '__main__': main() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/seafile-7.0.7/scripts/build/build-msi.py new/seafile-7.0.8/scripts/build/build-msi.py --- old/seafile-7.0.7/scripts/build/build-msi.py 2020-04-01 04:48:24.000000000 +0200 +++ new/seafile-7.0.8/scripts/build/build-msi.py 2020-06-02 10:58:05.000000000 +0200 @@ -891,19 +891,40 @@ with open(file_path, 'w') as fp: fp.write(content) + def generate_breakpad_symbols(): - seafiledir = Seafile().projdir - script = os.path.join(seafiledir, 'scripts/breakpad.py') - symbol_file = 'seaf-daemon.exe.sym-%s' % conf[CONF_VERSION] - output = os.path.join(seafiledir, symbol_file) + """ + Generate seafile and seafile-gui breakpad symbols + :return: None + """ + seafile_src = Seafile().projdir + seafile_gui_src = SeafileClient().projdir + generate_breakpad_symbols_script = os.path.join(seafile_src, 'scripts/breakpad.py') + + # generate seafile the breakpad symbols + seafile_name = 'seaf-daemon.exe' + seafile_symbol_name = 'seaf-daemon.exe.sym-%s' % conf[CONF_VERSION] + seafile_symbol_output = os.path.join(seafile_src, seafile_symbol_name) - # generate the breakpad symbols - if run('python %s --output %s' % (script, output)) != 0: + if run('python %s --projectSrc %s --name %s --output %s' + % (generate_breakpad_symbols_script, seafile_src, seafile_name, seafile_symbol_output)) != 0: error('Error when generating breakpad symbols') + # generate seafile gui breakpad symbols + seafile_gui_name = 'seafile-applet.exe' + seafile_gui_symbol_name = 'seafile-applet.exe.sym-%s' % conf[CONF_VERSION] + seafile_gui_symbol_output = os.path.join(seafile_gui_src, seafile_gui_symbol_name) + + if run('python %s --projectSrc %s --name %s --output %s' + % (generate_breakpad_symbols_script, seafile_gui_src, seafile_gui_name, seafile_gui_symbol_output)) != 0: + error('Error when generating seafile gui client breakpad symbol') + # move symbols to output directory - dst_symbol_file = os.path.join(conf[CONF_OUTPUTDIR], symbol_file) - must_copy(output, dst_symbol_file) + dst_seafile_symbol_file = os.path.join(conf[CONF_OUTPUTDIR], seafile_symbol_name) + dst_seafile_gui_symbol_file = os.path.join(conf[CONF_OUTPUTDIR], seafile_gui_symbol_name) + must_copy(seafile_symbol_output, dst_seafile_symbol_file) + must_copy(seafile_gui_symbol_output, dst_seafile_gui_symbol_file) + def build_msi(): prepare_msi()