diff -Nru mcomix-1.2.1mcomix3+git20200122/debian/changelog mcomix-1.2.1mcomix3+git20200206/debian/changelog --- mcomix-1.2.1mcomix3+git20200122/debian/changelog 2020-01-22 05:02:54.000000000 +0000 +++ mcomix-1.2.1mcomix3+git20200206/debian/changelog 2020-02-08 07:00:41.000000000 +0000 @@ -1,3 +1,11 @@ +mcomix (1.2.1mcomix3+git20200206-1) unstable; urgency=medium + + * New upstream release + - set mtime of parent directory after msgfmt finished + (Closes: #949684) + + -- Emfox Zhou Sat, 08 Feb 2020 15:00:41 +0800 + mcomix (1.2.1mcomix3+git20200122-1) unstable; urgency=medium * New upstream snapshot diff -Nru mcomix-1.2.1mcomix3+git20200122/installer.py mcomix-1.2.1mcomix3+git20200206/installer.py --- mcomix-1.2.1mcomix3+git20200122/installer.py 2020-01-17 13:20:55.000000000 +0000 +++ mcomix-1.2.1mcomix3+git20200206/installer.py 2020-02-06 05:43:34.000000000 +0000 @@ -10,7 +10,19 @@ msgfmt_cmd=shlex.split(environ.get('MSGFMT',default='msgfmt')) -def copy(srcdir,filename,dstdir,pool): +def fixdirtime(args): + srcdir,filename,target=args + while True: + sstat,d=stat(srcdir),join(target,srcdir) + if not isdir(d):return + times_ns=(sstat.st_atime_ns,sstat.st_mtime_ns) + utime(d,ns=times_ns,times=None) + chmod(d,sstat.st_mode) + srcdir=dirname(srcdir) + if not srcdir:return + +def copy(srcdir,filename,target,pool): + dstdir=join(target,srcdir) finame,foname=join(srcdir,filename),join(dstdir,filename) fistat=stat(finame) times_ns=(fistat.st_atime_ns,fistat.st_mtime_ns) @@ -20,6 +32,7 @@ utime(foname,ns=times_ns,times=None) chmod(foname,fistat.st_mode) print('install:',finame,foname) + fixdirtime((srcdir,filename,target)) def check_msgfmt(): try: @@ -30,16 +43,18 @@ print('msgfmt not found') return -def msgfmt(srcdir,filename,dstdir,pool): +def msgfmt(srcdir,filename,target,pool): if not msgfmt_cmd:return if pool: - pool.apply_async(msgfmt,(srcdir,filename,dstdir,None)) + pool.apply_async(msgfmt,(srcdir,filename,target,None),callback=fixdirtime) return + dstdir=join(target,srcdir) b,e=splitext(filename) finame,foname=join(srcdir,filename),join(dstdir,'{}.mo'.format(b)) makedirs(dstdir,exist_ok=True) run(msgfmt_cmd+['-o',foname,finame]) print('msgfmt:',foname,finame) + return srcdir,filename,target install_methods={'.1':copy, '.py':copy, @@ -49,15 +64,7 @@ def install(srcdir,filename,target,pool): b,e=splitext(filename) if e not in install_methods:return - install_methods[e](srcdir,filename,join(target,srcdir),pool) - while True: - sstat,d=stat(srcdir),join(target,srcdir) - if not isdir(d):return - times_ns=(sstat.st_atime_ns,sstat.st_mtime_ns) - utime(d,ns=times_ns,times=None) - chmod(d,sstat.st_mode) - srcdir=dirname(srcdir) - if not srcdir:return + install_methods[e](srcdir,filename,target,pool) def scandir(root,dest,pool=None): for r,dl,fl in walk(root): diff -Nru mcomix-1.2.1mcomix3+git20200122/mcomix/mcomix/event.py mcomix-1.2.1mcomix3+git20200206/mcomix/mcomix/event.py --- mcomix-1.2.1mcomix3+git20200122/mcomix/mcomix/event.py 2020-01-17 13:20:55.000000000 +0000 +++ mcomix-1.2.1mcomix3+git20200206/mcomix/mcomix/event.py 2020-02-06 05:43:34.000000000 +0000 @@ -236,6 +236,8 @@ self._window.minimize) manager.register('fullscreen', lambda:self._window.actiongroup.get_action('fullscreen').set_active(True)) + manager.register('toggle_fullscreen', + self._window.actiongroup.get_action('fullscreen').activate) manager.register('toolbar', self._window.actiongroup.get_action('toolbar').activate) manager.register('menubar', diff -Nru mcomix-1.2.1mcomix3+git20200122/mcomix/mcomix/keybindings_map.py mcomix-1.2.1mcomix3+git20200206/mcomix/mcomix/keybindings_map.py --- mcomix-1.2.1mcomix3+git20200122/mcomix/mcomix/keybindings_map.py 2020-01-17 13:20:55.000000000 +0000 +++ mcomix-1.2.1mcomix3+git20200206/mcomix/mcomix/keybindings_map.py 2020-02-06 05:43:34.000000000 +0000 @@ -136,6 +136,8 @@ 'group': _('User interface')}, 'fullscreen': {'title': _('Fullscreen'), 'group': _('User interface')}, + 'toggle_fullscreen': {'title': _('Toggle fullscreen'), + 'group': _('User interface')}, 'toolbar': {'title': _('Show/hide toolbar'), 'group': _('User interface')}, 'menubar': {'title': _('Show/hide menubar'), @@ -276,6 +278,7 @@ 'osd_panel':['Tab'], 'minimize':['n'], 'fullscreen':['f','F11'], + 'toggle_fullscreen':[], 'toolbar':[], 'menubar':['M'], 'statusbar':[],