Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gfxboot for openSUSE:Factory checked 
in at 2021-04-10 15:26:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gfxboot (Old)
 and      /work/SRC/openSUSE:Factory/.gfxboot.new.2401 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gfxboot"

Sat Apr 10 15:26:13 2021 rev:165 rq:883831 version:4.5.75

Changes:
--------
--- /work/SRC/openSUSE:Factory/gfxboot/gfxboot.changes  2021-02-07 
15:14:01.841387192 +0100
+++ /work/SRC/openSUSE:Factory/.gfxboot.new.2401/gfxboot.changes        
2021-04-10 15:26:32.882319925 +0200
@@ -1,0 +2,9 @@
+Thu Apr 8 11:47:18 UTC 2021 - wfe...@opensuse.org
+
+- merge gh#openSUSE/gfxboot#51
+- remove changelog file
+- update git2log to latest version
+- remove .gitignore
+- 4.5.75
+
+--------------------------------------------------------------------

Old:
----
  gfxboot-4.5.74.tar.xz

New:
----
  gfxboot-4.5.75.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gfxboot.spec ++++++
--- /var/tmp/diff_new_pack.KiiaqA/_old  2021-04-10 15:26:33.442320584 +0200
+++ /var/tmp/diff_new_pack.KiiaqA/_new  2021-04-10 15:26:33.442320584 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           gfxboot
-Version:        4.5.74
+Version:        4.5.75
 Release:        0
 Summary:        Graphical Boot Logo for GRUB, LILO and SYSLINUX
 License:        GPL-2.0-or-later

++++++ KDE.tar.xz ++++++

++++++ SLED.tar.xz ++++++

++++++ SLES.tar.xz ++++++

++++++ examples.tar.xz ++++++

++++++ gfxboot-4.5.74.tar.xz -> gfxboot-4.5.75.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gfxboot-4.5.74/.gitignore 
new/gfxboot-4.5.75/.gitignore
--- old/gfxboot-4.5.74/.gitignore       2021-02-01 12:15:04.000000000 +0100
+++ new/gfxboot-4.5.75/.gitignore       1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-changelog
-VERSION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gfxboot-4.5.74/Makefile new/gfxboot-4.5.75/Makefile
--- old/gfxboot-4.5.74/Makefile 2021-02-01 12:15:04.000000000 +0100
+++ new/gfxboot-4.5.75/Makefile 2021-04-08 13:47:18.000000000 +0200
@@ -12,10 +12,7 @@
 
 .PHONY: all clean distclean doc install installsrc themes
 
-all:   changelog bin2c gfxboot-compile bincode gfxboot-font addblack
-
-changelog: $(GITDEPS)
-       $(GIT2LOG) --changelog changelog
+all:   bin2c gfxboot-compile bincode gfxboot-font addblack
 
 gfxboot-font: gfxboot-font.c
        $(CC) $(CFLAGS) -I /usr/include/freetype2 -lfreetype $< -o $@
@@ -70,10 +67,10 @@
        cp -a themes/example* $(DESTDIR)/usr/share/gfxboot/themes
        cp -a bin test $(DESTDIR)/usr/share/gfxboot
 
-archive: changelog
+archive:
        mkdir -p package
        git archive --prefix=$(PREFIX)/ $(BRANCH) | tar 
--no-wildcards-match-slash --wildcards --delete 'gfxboot-*/themes' > 
package/$(PREFIX).tar
-       tar -r -f package/$(PREFIX).tar --mode=0664 --owner=root --group=root 
--mtime="`git show -s --format=%ci`" --transform='s:^:$(PREFIX)/:' VERSION 
changelog
+       tar -r -f package/$(PREFIX).tar --mode=0664 --owner=root --group=root 
--mtime="`git show -s --format=%ci`" --transform='s:^:$(PREFIX)/:' VERSION
        xz -f package/$(PREFIX).tar
        for i in $(THEMES) ; do \
          git archive $(BRANCH) $$i | xz > package/$${i#*/}.tar.xz || break ; \
@@ -83,6 +80,7 @@
 clean: themes doc
        @rm -f gfxboot-compile bincode gfxboot-font addblack bincode.h bin2c 
*.lst *.map vocabulary.inc vocabulary.h *.o *~
        @rm -rf tmp package
+       @rm -f VERSION changelog
 
 distclean: clean
        @for i in themes/example* ; do make -C $$i clean || break ; done
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gfxboot-4.5.74/VERSION new/gfxboot-4.5.75/VERSION
--- old/gfxboot-4.5.74/VERSION  2021-02-01 12:15:04.000000000 +0100
+++ new/gfxboot-4.5.75/VERSION  2021-04-08 13:47:18.000000000 +0200
@@ -1 +1 @@
-4.5.74
+4.5.75
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gfxboot-4.5.74/changelog new/gfxboot-4.5.75/changelog
--- old/gfxboot-4.5.74/changelog        2021-02-01 12:15:04.000000000 +0100
+++ new/gfxboot-4.5.75/changelog        1970-01-01 01:00:00.000000000 +0100
@@ -1,500 +0,0 @@
-2021-02-01:    4.5.74
-       - merge gh#openSUSE/gfxboot#50
-       - Do not generate .note.gnu.property section.
-
-2020-10-22:    4.5.73
-       - Translated using Weblate (Hindi)
-
-2020-08-25:    4.5.72
-       - Translated using Weblate (Persian)
-       - Translated using Weblate (Portuguese)
-
-2020-07-29:    4.5.71
-       - Translated using Weblate (French)
-       - Translated using Weblate (Galician)
-       - Translated using Weblate (Hindi)
-       - Translated using Weblate (Russian)
-       - Translated using Weblate (Ukrainian)
-       - Translated using Weblate (Spanish)
-       - Added translation using Weblate (Persian)
-
-2020-06-15:    4.5.70
-       - merge gh#openSUSE/gfxboot#48
-       - add 'default' and 'https' install methods (bsc#1171018)
-       - adjust config file description
-       - add https dialog title
-
-2020-05-27:    4.5.69
-       - merge gh#openSUSE/gfxboot#46
-       - add F8-shortcut for language selection (jsc#SLE-12810, jsc#SLE-12479)
-       - actual implementation of language switch
-
-2020-04-14:    4.5.68
-       - Translated using Weblate (Indonesian)
-       - Translated using Weblate (Swedish)
-       - Translated using Weblate (Thai)
-
-2020-02-26:    4.5.67
-       - Translated using Weblate (Spanish)
-
-2020-02-11:    4.5.66
-       - Translated using Weblate (Finnish)
-
-2020-01-29:    4.5.65
-       - Translated using Weblate (Finnish)
-
-2020-01-16:    4.5.64
-       - merge gh#openSUSE/gfxboot#44
-       - rework font settings (bsc#1159874)
-
-2019-12-10:    4.5.63
-       - Translated using Weblate (German)
-
-2019-12-09:    4.5.62
-       - merge gh#openSUSE/gfxboot#43
-       - prepare gfxboot for syslinux 6.x (jsc#SLE-2969)
-       - adjust gfxtest script to work with syslinux 6.x
-
-2019-12-07:    4.5.61
-       - Translated using Weblate (Chinese (China))
-
-2019-12-06:    4.5.60
-       - Translated using Weblate (Czech)
-       - Translated using Weblate (Danish)
-
-2019-12-05:    4.5.59
-       - Translated using Weblate (German)
-       - Translated using Weblate (Portuguese (Brazil))
-       - Translated using Weblate (Slovak)
-
-2019-12-05:    4.5.58
-       - Translated using Weblate (Catalan)
-       - Translated using Weblate (Japanese)
-
-2019-12-05:    4.5.57
-       - merge gh#openSUSE/gfxboot#42
-       - rebuild font file to support latest language additions
-       - make more boot menu texts translatable
-
-2019-12-04:    4.5.56
-       - merge gh#openSUSE/gfxboot#21
-       - Add Kazakh translation.
-       - Add Kazakh language definition.
-       - Add Kazakh to the list of languages.
-
-2019-11-05:    4.5.55
-       - Translated using Weblate (Indonesian)
-
-2019-10-29:    4.5.54
-       - Translated using Weblate (Indonesian)
-
-2019-10-23:    4.5.53
-       - Translated using Weblate (Estonian)
-
-2019-10-22:    4.5.52
-       - Translated using Weblate (Spanish)
-
-2019-08-17:    4.5.51
-       - Translated using Weblate (Portuguese)
-
-2019-04-05:    4.5.50
-       - merge gh#openSUSE/gfxboot#38
-       - fix SLES splash calculation (bsc#1129387)
-
-2019-03-12:    4.5.49
-       - merge gh#openSUSE/gfxboot#37
-       - Replace master-bood-code by syslinux version
-
-2019-02-05:    4.5.48
-       - merge gh#openSUSE/gfxboot#35
-       - ensure theme builds are reproducible (bsc#1124165)
-       - adjust unpack_bootlogo script
-
-2018-09-10:    4.5.47
-       - Translated using Weblate (Arabic)
-
-2018-06-19:    4.5.46
-       - merge gh#openSUSE/gfxboot#34
-       - rework video mode list composition (bsc#1096971)
-       - remove obsolete qemu options from gfxboot script
-
-2018-06-12:    4.5.45
-       - merge gh#openSUSE/gfxboot#33
-       - don't crash if vbe video mode list is empty (bsc#1096971)
-       - replace genisoimage with mkisofs
-
-2018-04-27:    4.5.44
-       - Translated using Weblate (Greek)
-
-2018-04-27:    4.5.43
-       - Translated using Weblate (Greek)
-
-2018-04-27:    4.5.42
-       - merge gh#openSUSE/gfxboot#31
-       - enhance documentation
-       - add sample screenshots
-       - merge gh#openSUSE/gfxboot#32
-       - update git2log script
-
-2018-04-09:    4.5.41
-       - Translated using Weblate (Catalan)
-
-2018-04-03:    4.5.40
-       - Translated using Weblate (Indonesian)
-
-2018-03-24:    4.5.39
-       - Translated using Weblate (Spanish)
-
-2018-03-22:    4.5.38
-       - Translated using Weblate (Portuguese)
-
-2018-03-22:    4.5.37
-       - Translated using Weblate (Portuguese)
-
-2018-03-08:    4.5.36
-       - Translated using Weblate (Galician)
-
-2018-03-03:    4.5.35
-       - Translated using Weblate (French)
-       - Translated using Weblate (Danish)
-
-2018-02-26:    4.5.34
-       - Translated using Weblate (Dutch)
-
-2018-02-21:    4.5.33
-       - Translated using Weblate (Dutch)
-
-2018-02-21:    4.5.32
-       - Translated using Weblate (Ukrainian)
-
-2018-02-20:    4.5.31
-       - Translated using Weblate (Finnish)
-
-2018-02-20:    4.5.30
-       - Translated using Weblate (Finnish)
-
-2018-02-02:    4.5.29
-       - Translated using Weblate (Indonesian)
-
-2018-01-31:    4.5.28
-       - Translated using Weblate (Danish)
-
-2018-01-31:    4.5.27
-       - Translated using Weblate (Catalan)
-
-2018-01-28:    4.5.26
-       - Translated using Weblate (Danish)
-
-2018-01-26:    4.5.25
-       - Translated using Weblate (Slovak)
-       - Translated using Weblate (Japanese)
-
-2018-01-23:    4.5.24
-       - merge gh#openSUSE/gfxboot#29
-       - add config file entries to specify a title for the main screen
-         (bsc#1077188)
-       - fix bug processing serial menu entries (bsc#1075852)
-
-2017-10-05:    4.5.23
-       - merge gh#openSUSE/gfxboot#27
-       - fix linear framebuffer activation (bsc#1061383)
-       - add gfx mode number and framebuffer address to debug status
-
-2017-09-12:    4.5.22
-       - merge gh#openSUSE/gfxboot#26
-       - prefer linear framebuffer modes for drawing (bsc#980570)
-       - bincode: Fix coreboot LFB mode
-       - color bits detection: add workaround for broken vbe info
-       - better fallback video mode selection
-
-2017-05-09:    4.5.21
-       - merge gh#openSUSE/gfxboot#24
-       - fix UK keyboard setting (bsc#1033202)
-
-2016-11-23:    4.5.20
-       - merge gh#openSUSE/gfxboot#22
-       - adjust keymap names to be consistent again (bsc#1009914)
-       - update git2log script
-
-2016-11-07:    4.5.19
-       - merge gh#openSUSE/gfxboot#20
-       - Update ca.po
-
-2016-10-19:    4.5.18
-       - merge gh#openSUSE/gfxboot#16
-       - Update lt.po
-       - merge gh#openSUSE/gfxboot#18
-       - Update ca.po
-
-2016-10-17:    4.5.17
-       - merge gh#openSUSE/gfxboot#15
-       - fix bug calculating video and xvideo options (bsc#780621)
-
-2016-10-14:    4.5.16
-       - merge gh#openSUSE/gfxboot#14
-       - updated sound samples
-       - updated texts that are run through espeak
-       - adjust to changed sox syntax
-       - re-rendered font
-       - ensure sound samples are loaded only once
-       - one more text to sample
-       - again updated sound samples
-       - use new functions to pass on video menu settings to bootloader
-       - adjust to new menu engine
-       - adjust to new menu engine
-       - rework video mode menu
-       - implement enhanced menu layout engine
-
-2016-09-13:    4.5.15
-       - merge gh#openSUSE/gfxboot#11
-       - Adapted to the new keymaps used by linuxrc and YaST
-
-2016-08-08:    4.5.14
-       - merge gh#openSUSE/gfxboot#10
-       - fix boot-label redrawing after language change (bsc#988392)
-
-2016-06-13:    4.5.13
-       - merge gh#openSUSE/gfxboot#8
-       - make 'systemboot' and 'more' menu entries translatable
-       - updated translations
-
-2015-12-04:    4.5.12
-       - merge gh#openSUSE/gfxboot#4
-       - fix booting from submenu (bsc#957893)
-
-2015-11-12:    4.5.11
-       - merge gh#openSUSE/gfxboot#3
-       - implement support for sub-menues (bsc#906990)
-       - documented submenu syntax
-       - show submenu indicator in RTL layout
-       - on leaving a submenu, restore cursor position
-
-2015-10-19:    4.5.10
-       - update translations (bsc#950962)
-
-2015-10-01:    4.5.9
-       - implement LEAP boot splash
-
-2015-09-29:    4.5.8
-       - merge gh#openSUSE/gfxboot#2
-       - Add a basic README.md
-
-2014-10-14:    4.5.7
-       - updated git2log
-       - added 'archive' Makefile target
-
-2014-10-02:    4.5.6
-       - work around memory corruption issue seen on hyper-v (bnc#876640)
-
-2014-09-17:    4.5.5
-       - remove duplicate 'Default' from po file
-       - translation update
-       - translation update 2
-       - recreated font to match latest translations
-       - fix compiler warning
-
-2014-08-25:    4.5.4
-       - added two more texts to pot file
-
-2014-08-25:    4.5.3
-       - adjust network dialog to latest linuxrc
-       - make 'Upgrade" translatable
-
-2014-01-24:    4.5.2
-       - set min video mode to 1024x576
-       - hrvoje.senjan: use FT_SYNTHESIS_H macro
-       - fix compiler warning
-
-2012-10-01:    4.5.1
-       - start using 'default' video entry
-
-2012-03-28:    4.5.0
-       - rework monitor detection new video selection menu
-       - ddc test record
-
-2011-10-13:    4.4.7
-       - fix isohybrid detection
-
-2011-10-13:    4.4.6
-       - don't set init boot option (bnc#723678)
-
-2011-09-02:    4.4.5
-       - make systemd default
-
-2011-09-02:    4.4.4
-       - use isolinux-config from package
-       - add config option for default init program
-
-2011-07-07:    4.4.3
-       - update upstream theme
-       - added KDE theme
-
-2011-07-07:    4.4.2
-       - fix script in case we are on no branch
-       - added menu to select init variant (bnc#704417)
-
-2011-04-18:    4.4.1
-       - pass cwd via sysconfig
-       - pass back working dir as absolute path
-       - fix wrong mem access
-       - restore compat with syslinux 3
-
-2011-04-07:    4.4.0
-       - rewrite chdir to work without bootloader chdir support
-       - set version to oS 11.5
-
-2011-02-24:    4.3.8
-       - default to hd install with isohybrid boot from hd
-
-2011-02-21:    4.3.7
-       - new oS 11.4 branding
-
-2011-01-13:    4.3.6
-       - fix autoselection of emulator for "gfxboot -p" (bnc#661832)
-       - add qemu-kvm to the list auf autoselected emulators (bnc#661832)
-       - update virtual box support
-
-2010-10-27:    4.3.5
-       - avoid dialogs wider than screen
-
-2010-10-04:    4.3.4
-       - create VERSION and changelog from git repo
-       - remove VERSION
-
-2010-10-04:    4.3.3
-       - updated help text translations (bnc#551046)
-
-2010-10-04:    4.3.2
-       - updated translations (bnc#551046)
-
-2010-09-03:    4.3.1
-       - show real product name on serial console (bnc#634299)
-       - new tag
-
-2010-08-05:    4.3.0
-       - add 'lang' option if language has been changed [used to be: if !=
-         en_US] (bnc#619983)
-       - keyboard label was not translatable (bnc#610638)
-
-2010-07-05:    4.2.3
-       - updated translations (bnc#619513)
-
-2010-06-25:    4.2.2
-       - updated translations
-
-2010-05-31:    4.2.1
-       - clear font flags when setting an undefined font (bnc#609755)
-
-2010-05-20:    4.2.0
-       - don't abuse bit 31 in font pointer (bnc#599478)
-       - turn on ints explicitly
-       - better memory dump
-
-2010-05-19:    4.1.47
-       - openSUSE 11.3 theme
-
-2010-04-30:    4.1.46
-       - strip gfxboot.com related parts from syslinux-3.86 patchset
-       - added Asturian (bnc#562202)
-       - fixed examples to work with latest gfxboot.c32
-       - set valid tss for pm calls
-       - new version
-
-2010-04-16:    4.1.44
-       - fix help text formatting
-
-2010-04-16:    4.1.43
-       - reset progress bar status after error
-
-2010-04-09:    4.1.42
-       - add patches for syslinux 3.86
-       - prefer gfxboot.c32 over gfxboot.com
-
-2009-12-10:    4.1.41
-       - leave more room for timeout indicator (bnc#551718)
-       - center main menu (bnc#562089)
-
-2009-11-16:    4.1.40
-       - syslinux patch: fix chdir() return value
-
-2009-10-30:    4.1.39
-       - updated translations (bnc#551046)
-       - updated help text translations
-
-2009-10-29:    4.1.38
-       - added --no-unpack option
-       - menu layout can be in high memory
-       - extend interface so it works with gfxboot.c32
-       - add gfxboot.c32 patch
-
-2009-10-19:    4.1.37
-       - get kernel size right
-       - fix syslinux setup
-       - fix progress indicator for PXE boot
-
-2009-10-19:    4.1.36
-       - more examples
-       - more examples
-       - set correct timeout value
-       - set correct timeout value
-       - localboot should return to text mode
-
-2009-10-15:    4.1.35
-       - added some sample themes
-       - improved gfxtest script
-       - install examples
-
-2009-10-15:    4.1.34
-       - support pxe setup in test script
-       - added patches for syslinux 3.83
-
-2009-10-12:    4.1.33
-       - updated speech samples
-
-2009-10-12:    4.1.32
-       - added swiss french keymap
-
-2009-10-07:    4.1.31
-       - added syslinux-3.82 patchset
-       - updated keyboard mapping list
-       - make keytable handling more consistent
-       - new keyboard mappings, new font
-       - the new maps
-
-2009-10-02:    4.1.30
-       - fix pot
-
-2009-09-30:    4.1.29
-       - log more data to allow easier font size adjustments
-       - new font
-       - cleaned up po files
-       - more flexible translation support
-       - livecd: add F4=kerneloptions
-
-2009-09-29:    4.1.28
-       - set default install type correctly (bnc#542781)
-
-2009-09-28:    4.1.27
-       - make new network dialog translatable
-       - updated language list
-       - fixed grub picture (bnc#542113)
-
-2009-09-24:    4.1.26
-       - escape weird chars in URLs
-
-2009-09-18:    4.1.25
-       - unified config file
-       - added memcheck option
-       - removed old config copies
-       - fixed evil bug
-       - F-key assignments configurable via gfxboot.cfg
-
-2009-09-15:    4.1.24
-       - added proxy setup (bnc#329668)
-
-2009-09-14:    4.1.23
-       - fix some nasm warnings
-       - up version number
-       - updated 11.2 openSUSE theme (bnc#538949)
-       - added network config dialog
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gfxboot-4.5.74/git2log new/gfxboot-4.5.75/git2log
--- old/gfxboot-4.5.74/git2log  2021-02-01 12:15:04.000000000 +0100
+++ new/gfxboot-4.5.75/git2log  2021-04-08 13:47:18.000000000 +0200
@@ -33,6 +33,7 @@
 sub format_all_logs;
 sub fix_dates;
 sub add_line_breaks;
+sub add_bugzilla_to_weblate;
 sub format_date_obs;
 sub format_date_iso;
 sub raw_date_to_s;
@@ -62,6 +63,7 @@
 my $opt_join_author = 1;               # join consecutive commit messages as 
long as they are by the same author
 my $opt_keep_date = 1;                 # don't join consecutive commit 
messages if they have different time stamps
 my $opt_default_email = 'opensuse-packag...@opensuse.org';     # default email 
to use in changelog
+my $opt_weblate = 'bsc#1149754';       # bugzilla ref to use for Weblate 
commits
 
 GetOptions(
   'help'          => sub { usage 0 },
@@ -78,6 +80,7 @@
   'keep-date!'    => \$opt_keep_date,
   'log|changelog' => \$opt_log,
   'default-email=s' => \$opt_default_email,
+  'weblate=s'     => \$opt_weblate,
 ) || usage 1;
 
 # ensure we are used correctly
@@ -166,7 +169,7 @@
   --version           Write version number to FILE.
   --branch            Write current branch to FILE.
   --start START_TAG   Start with tag START_TAG.
-  --max N             Write at most MAX long entries.
+  --max N             Write at most N log entries.
   --update            Write changelog or version only if FILE is outdated.
   --format FORMAT     Write log using FORMAT. Supported FORMATs are 'internal' 
(default) and 'obs'.
   --width WIDTH       Reformat log entries to be max WIDTH chars wide.
@@ -180,6 +183,7 @@
   --no-keep-date      Join consecutive commits even if dates differ.
   --default-email     Use this email in changelog entries if no other suitable 
email could be
                       determined (default: opensuse-packaging\@opensuse.org).
+  --weblate STRING    Add this STRING to every auto-generated Weblate commit.
   --help              Print this help text.
   usage
 
@@ -258,6 +262,8 @@
 #
 # Only tags recognized by is_formatted_tag() are considered.
 #
+# Tags inside merge commits are ignored.
+#
 # The parsed logs is stored in $config->{log}, an array of log sections.
 # Each section is a hash with these keys:
 #   - 'tags': array of tags for this section
@@ -266,15 +272,40 @@
 #
 sub get_tags
 {
-  my $log_entry;
+  my $pre_parsed;
+  my $current;
 
   for (@{$config->{raw_log}}) {
     if(/^commit (\S+)( \((.*)\))?/) {
-      my $commit = $1;
-      my $tag_list = $3;
-      my $xtag;
+      $current = { commit => $1, tag_list => $3 };
+      push @$pre_parsed, $current;
+    }
+
+    next if !defined $current;
+
+    if(/^Merge: (\S+) (\S+)/) {
+      $current->{merge_end} = $1;
+      $current->{merge_start} = $2;
+    }
+
+    push @{$current->{lines}}, $_;
+  }
+
+  # the end of the merge commit if in a merge
+  my $merge;
+  my $log_entry;
+
+  for my $p (@$pre_parsed) {
+    my $xtag;
 
-      for my $t (split /, /, $tag_list) {
+    # we have reached the end of the merge commit
+    if((defined($merge) && $p->{commit} =~ /^$merge/) || (!defined($merge) && 
$p->{merge_end})) {
+      undef $merge;
+    }
+
+    # ignore tag info inside a merge commit
+    if(!$merge) {
+      for my $t (split /, /, $p->{tag_list}) {
         if($t =~ /tag: (\S+)/) {
           my $tag = $1;
           my $x = is_formatted_tag $tag;
@@ -282,19 +313,27 @@
         }
       }
 
-      if($xtag) {
-        if($log_entry) {
-          push @{$config->{log}}, $log_entry;
-          last if $opt_max && @{$config->{log}} >= $opt_max;
-        }
-        $log_entry = { commit => $commit, tags => $xtag };
+      if($p->{merge_end}) {
+        # remember end of current merge commit
+        $merge = $p->{merge_end};
       }
-      else {
-        $log_entry = { commit => $commit } if !$log_entry;
+    }
+
+    if(!$log_entry) {
+      $log_entry = { commit => $p->{commit} };
+      $log_entry->{tags} = $xtag if $xtag;
+      push @{$config->{log}}, $log_entry;
+    }
+    else {
+      if($xtag) {
+        $log_entry = { commit => $p->{commit}, tags => $xtag };
+        push @{$config->{log}}, $log_entry;
       }
     }
 
-    push @{$log_entry->{lines}}, $_ if $log_entry;
+    push @{$log_entry->{lines}}, @{$p->{lines}};
+
+    last if $opt_max && @{$config->{log}} >= $opt_max;
   }
 }
 
@@ -456,6 +495,23 @@
     @t = sort tag_sort @t;
 
     $branch = $t[0]{branch};
+
+    # Here's some magic:
+    #
+    # If a commit is tagged  "FOO-X.Y" *and* "FOO-X.Y.0" assume the user
+    # wants to start a new sub-numbering scheme.
+    #
+    # Use "X.Y" as version but remember to go to "X.Y.1" instead of
+    # "X.{Y+1}" when we need to increment the version.
+    #
+    my $version = $t[0]{version};
+    if($version =~ s/\.0$//) {
+      if(grep { $_->{branch} eq $branch && $_->{version} eq $version } @t) {
+        $t[0]{new_start} = 1;
+        $t[0]{version} = $version;
+      }
+    }
+
     $x->{tags} = [ $t[0] ];
 
     # printf "X %s\n", tags_to_str($x->{tags});
@@ -470,6 +526,8 @@
 #
 # Basically, use branch + version from most recent tag and increment version.
 #
+# If the 'new_start' attribute to tag is set, start a new sub-numbering scheme.
+#
 sub add_head_tag
 {
   return if @{$config->{log}} < 2;
@@ -480,6 +538,9 @@
   # the first tagged commit if HEAD isn't tagged
   my $tag = { %{$config->{log}[1]{tags}[0]} };
 
+  # append '.0' to version
+  $tag->{version} .= '.0' if $tag->{new_start};
+
   # increment version
   $tag->{version} =~ s/(\d+)$/$1 + 1/e;
 
@@ -575,7 +636,6 @@
 
   my $merge;
   my $commit;
-  my $saved_commit;
   my $commits;
 
   for (@{$log->{lines}}) {
@@ -593,67 +653,57 @@
       if($merge) {
         $commit->{merge_ref} = $merge->{ref};
         $commit->{date} = $merge->{date};
+        $commit->{author} = $merge->{author};
         # add to all commits so it's not lost when we re-arrange
-        $commit->{merge_msg} = $merge->{msg} if $merge->{msg};
-        # saved entry no longer needed
-        undef $saved_commit;
+        $commit->{merge_msg} = $merge->{msg};
       }
 
       next;
     }
 
-    if(/^Merge: (\S+)/) {
+    if(/^Merge: (\S+)/ && !$merge) {
       if($commit) {
         $merge = { merge_end => $1, ref => $commit->{ref} } unless $merge;
-        $saved_commit = pop @{$commits};
       }
-      undef $commit;
       next;
     }
 
     if(/^Date:\s+(\S.*)/) {
-      if($commit) {
-        $commit->{date} = $1 if !$commit->{date};
-      }
-      elsif($merge) {
-        $merge->{date} = $1 if !$merge->{date};
-      }
+      $commit->{date} ||= $1 if $commit;
+      $merge->{date} ||= $1 if $merge;
       next;
     }
 
     if(/^Author:\s+(\S.*)/) {
-      $commit->{author} = $1 if $commit;
-      $merge->{author} = $1 if $merge && !$merge->{author};
+      $commit->{author} ||= $1 if $commit;
+      $merge->{author} ||= $1 if $merge;
       next;
     }
 
-    if($commit) {
-      push @{$commit->{lines}}, $_ if s/^    //;
-    }
-    elsif($merge && !$merge->{msg}) {
+    if($merge) {
       if(/^    Merge pull request (#\d+) from (\S+)/) {
         if($config->{github_project}) {
-          $merge->{msg} = "merge gh#$config->{github_project}$1";
+          push @{$merge->{msg}}, "merge gh#$config->{github_project}$1";
         }
         else {
-          $merge->{msg} = "merge pr $2";
+          push @{$merge->{msg}}, "merge pr $2";
         }
       }
-      elsif(/^    Merge branch '([^']+)'/) {
-        $merge->{msg} = "merge branch $1";
+      elsif(/^    Merge branch '([^']+)'( into)?/) {
+        push @{$merge->{msg}}, "merge branch $1" if $2 eq "";
+      }
+      elsif(/^    Merge remote-tracking branch /) {
+        # ignore
+      }
+      elsif(s/^    //) {
+        push @{$commit->{lines}}, $_ unless /^# /;
+      }
+    }
+    elsif($commit) {
+      if(s/^    //) {
+        push @{$commit->{lines}}, $_ unless /^# /;
       }
     }
-  }
-
-  # it can happen that there's a lonely merge commit left at the end
-  if($merge && $saved_commit) {
-    $saved_commit->{merge_ref} = $merge->{ref};
-    $saved_commit->{date} = $merge->{date};
-    $saved_commit->{author} = $merge->{author};
-    $saved_commit->{merge_msg} = $merge->{msg} if $merge->{msg};
-    $saved_commit->{formatted} = [];
-
-    push @{$commits}, $saved_commit;
   }
 
   # Note: the individual steps below work on the array @$commits and modify
@@ -671,6 +721,11 @@
   my $tagged_merges = {};
 
   for my $commit (@$commits) {
+    # skip leading empty lines
+    for (@{$commit->{lines}}) {
+      last if !/^\s*$/;
+      shift @{$commit->{lines}};
+    }
     my $para_cnt = 0;
     my $delete_all = 0;
     my $delete_first = 0;
@@ -735,7 +790,7 @@
   for my $commit (@$commits) {
     next unless $commit->{formatted};
     for (@{$commit->{formatted}}) {
-      s/(fate|bnc|bsc)\s*(#\d+)/\L$1\E$2/ig;
+      s/(fate|bnc|bsc|boo|jsc)\s*(#[a-z\d\-]+)/\L$1\E$2/ig;
     }
   }
 
@@ -751,10 +806,10 @@
       $merge_logged->{$commit->{merge_ref}} = 1;
       if($commit->{merge_msg}) {
         if($opt_merge_msg_before) {
-          unshift @{$commit->{formatted}}, $commit->{merge_msg};
+          unshift @{$commit->{formatted}}, @{$commit->{merge_msg}};
         }
         else {
-          push @{$commit->{formatted}}, $commit->{merge_msg};
+          push @{$commit->{formatted}}, @{$commit->{merge_msg}};
         }
       }
     }
@@ -802,6 +857,46 @@
   }
 
   # step 8
+  # - remove identical lines
+
+  for my $commit (@$commits) {
+    next unless $commit->{formatted};
+    my %k;
+    $commit->{formatted} = [ grep { !$k{$_}++ } @{$commit->{formatted}} ]
+  }
+
+  # step 9
+  # - remove shortened lines (that match the beginning of other lines)
+
+  for my $commit (@$commits) {
+    next unless $commit->{formatted};
+
+    # return 1 if some other commit line starts with function arg
+    my $is_substr = sub {
+      my $str = $_[0];
+      $str =~ s/\s*???$//;     # github likes to shorten lines with ' ???'
+      my $str_len = length $str;
+      for (@{$commit->{formatted}}) {
+        return 1 if $str_len < length($_) && $str eq substr($_, 0, $str_len);
+      }
+
+      return 0;
+    };
+
+    $commit->{formatted} = [ grep { ! $is_substr->($_) } 
@{$commit->{formatted}} ]
+  }
+
+  # step 10
+  # - add bugzilla reference to Weblate commits
+
+  for my $commit (@$commits) {
+    next unless $commit->{formatted};
+    for (@{$commit->{formatted}}) {
+      $_ = add_bugzilla_to_weblate $_;
+    }
+  }
+
+  # step 11
   # - add line breaks
 
   for my $commit (@$commits) {
@@ -811,7 +906,7 @@
     }
   }
 
-  # step 9
+  # step 12
   # - generate final log message
   #
   # note: non-(open)suse email addresses are replaced by $opt_default_email
@@ -897,6 +992,27 @@
 }
 
 
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# new_text = add_bugzilla_to_weblate(text)
+#
+# Add bugzilla number to an auto-generated Weblate commit.
+# - text: some text
+# - new_text: same text, "($opt_weblate)" added
+#
+sub add_bugzilla_to_weblate
+{
+  my $text = @_[0];
+
+  if($opt_weblate ne "") {
+    if($text =~ /Translated using Weblate/ && $text !~ /\($opt_weblate\)/) {
+      $text .= " ($opt_weblate)";
+    }
+  }
+
+  return $text;
+}
+
+
 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 # seconds = raw_date_to_s(git_date)
 #

++++++ openSUSE.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/themes/openSUSE/po/si.po new/themes/openSUSE/po/si.po
--- old/themes/openSUSE/po/si.po        1970-01-01 01:00:00.000000000 +0100
+++ new/themes/openSUSE/po/si.po        2021-04-08 13:47:18.000000000 +0200
@@ -0,0 +1,494 @@
+# LANGUAGE translations for boot loader
+# Copyright (C) 2005 SUSE Linux GmbH
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: bootloader\n"
+"PO-Revision-Date: 2005-07-27 11:49+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: si\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. ok button label
+#. txt_ok
+msgid "OK"
+msgstr ""
+
+#. cancel button label
+#. txt_cancel
+msgid "Cancel"
+msgstr ""
+
+#. reboot button label
+#. txt_reboot
+msgid "Reboot"
+msgstr ""
+
+#. continue button label
+#. txt_continue
+msgid "Continue"
+msgstr ""
+
+#. txt_install
+msgid "Installation"
+msgstr ""
+
+#. txt_safe_linux
+msgid "Linux--Safe Settings"
+msgstr ""
+
+#. txt_boot_harddisk
+msgid "Boot from Hard Disk"
+msgstr ""
+
+#. txt_rescue
+msgid "Rescue System"
+msgstr ""
+
+#. txt_memtest
+msgid "Memory Test"
+msgstr ""
+
+#. txt_bootoptions
+msgid "Boot Options"
+msgstr ""
+
+#. window title for exit dialog
+#. txt_exit_title (see txt_exit_dialog)
+msgid "Exiting..."
+msgstr ""
+
+#. txt_exit_dialog
+msgid ""
+"You are leaving the graphical boot menu and\n"
+"starting the text mode interface."
+msgstr ""
+
+#. txt_help
+msgid "Help"
+msgstr ""
+
+#. window title for kernel loading (see txt_load_kernel)
+#. txt_load_kernel_title
+msgid "Starting..."
+msgstr ""
+
+#. Keep the three newlines!
+#. txt_load_kernel
+msgid ""
+"Loading Linux Kernel\n"
+"\n"
+"\n"
+msgstr ""
+
+#. Keep the three newlines!
+#. txt_load_memtest
+msgid ""
+"Loading memtest86\n"
+"\n"
+"\n"
+msgstr ""
+
+#. info box title
+#. txt_info_title
+msgid "Boot Loader"
+msgstr ""
+
+#. error box title
+#. txt_error_title
+msgid "I/O Error"
+msgstr ""
+
+#. boot disk change dialog title
+#. txt_change_disk_title
+msgid "Change Boot Disk"
+msgstr ""
+
+#. txt_insert_disk
+#, c-format
+msgid "Insert boot disk %u."
+msgstr ""
+
+#. txt_insert_disk2
+#, c-format
+msgid ""
+"This is boot disk %u.\n"
+"Insert boot disk %u."
+msgstr ""
+
+#. <product> is e.g. SuSE Linux X.Y or Enterprise Server Z
+#. txt_insert_disk3
+#, c-format
+msgid ""
+"This is not a <product> boot disk.\n"
+"Insert boot disk %u."
+msgstr ""
+
+#. password dialog title
+#. txt_password_title
+msgid "Password"
+msgstr ""
+
+#. txt_dud_ready
+msgid "Get your driver update floppy ready."
+msgstr ""
+
+#. power off dialog title
+#. txt_power_off_title
+msgid "Power Off"
+msgstr ""
+
+#. txt_power_off
+msgid "Halt the system now?"
+msgstr ""
+
+#. menu entry for hard disk installation
+#. txt_harddisk
+msgid "Hard Disk"
+msgstr ""
+
+#. dialog title for hard disk installation
+#. txt_harddisk_title
+msgid "Hard Disk Installation"
+msgstr ""
+
+#. txt_hd_diskdevice
+msgid "Disk Device (Scans All Disks If Empty)\n"
+msgstr ""
+
+#. txt_directory
+msgid "Directory\n"
+msgstr ""
+
+#. dialog title for ftp installation
+#. txt_ftp_title
+msgid "FTP Installation"
+msgstr ""
+
+#. txt_server
+msgid "Server\n"
+msgstr ""
+
+#. txt_password
+msgid "Password\n"
+msgstr ""
+
+#. label for ftp user input
+#. txt_user1
+msgid "User (Anonymous Login If Empty)\n"
+msgstr ""
+
+#. dialog title for nfs installation
+#. txt_nfs_title
+msgid "NFS Installation"
+msgstr ""
+
+#. label for smb user input
+#. txt_user2
+msgid "User (Uses \"guest\" If Empty)\n"
+msgstr ""
+
+#. dialog title for smb installation
+#. txt_smb_title
+msgid "SMB (Windows Share) Installation"
+msgstr ""
+
+#. dialog title for http installation
+#. txt_http_title
+msgid "HTTP Installation"
+msgstr ""
+
+#. 'driver' as in '(hardware) driver update'
+#. txt_driver_update
+msgid "Driver"
+msgstr ""
+
+#. as in Windows Authentication Domain
+#. txt_domain
+msgid "Domain\n"
+msgstr ""
+
+#. button label for other/more options
+#. txt_other_options
+msgid "Other Options"
+msgstr ""
+
+#. label for language selection
+#. txt_language
+msgid "Language"
+msgstr ""
+
+#. txt_yes
+msgid "Yes"
+msgstr ""
+
+#. txt_no
+msgid "No"
+msgstr ""
+
+#. menu item for selecting a file
+#. txt_file
+msgid "File"
+msgstr ""
+
+#. input label: share as in "Windows share" (SMB)
+#. txt_share
+msgid "Share\n"
+msgstr ""
+
+#. txt_zenAuto
+msgid "Automatic Mode"
+msgstr ""
+
+#. txt_zenManual
+msgid "Manual Mode"
+msgstr ""
+
+#. txt_zenConfig
+msgid "Configure Parameters on ZEN Partition"
+msgstr ""
+
+#. txt_zenInstall
+msgid "Install or Update ZEN Partition"
+msgstr ""
+
+#. txt_zenLilo
+msgid "Reinstall ZEN Partition Boot Loader"
+msgstr ""
+
+#. txt_zenDisable
+msgid "Disable ZEN Partition"
+msgstr ""
+
+#. txt_zenEnable
+msgid "Enable ZEN Partition"
+msgstr ""
+
+#. video mode menu item
+#. txt_text_mode
+msgid "Text Mode"
+msgstr ""
+
+#. menu item, like 'memory test'
+#. txt_firmware
+msgid "Firmware Test"
+msgstr ""
+
+#. txt_dud_file_msg
+#, wrap
+msgid ""
+"To load driver updates directly from CD-ROM,\n"
+"enter the driver update file names (separated\n"
+"by commas ',') here:\n"
+msgstr ""
+
+#. install source menu title
+#. ** please keep it really short (comparable to the english text) **
+#. txt_install_source
+msgid "Source"
+msgstr ""
+
+#. video mode/display size menu title
+#. ** please keep it really short (comparable to the english text) **
+#. txt_video_mode
+msgid "Video Mode"
+msgstr ""
+
+#. driver update dialog title
+#. -> txt_dud_file_msg
+#. txt_driver_update2
+msgid "Driver Update"
+msgstr ""
+
+#. menu label for selecting (cpu) architecture
+#. like i386, x86-64, ppc
+#. ** please keep it really short (comparable to the english text) **
+#. txt_arch
+msgid "Arch"
+msgstr ""
+
+#. menu label for selecting some (linux) kernel variant
+#. ** please keep it really short (comparable to the english text) **
+#. txt_kernel
+msgid "Kernel"
+msgstr ""
+
+#. menu item for kernel variant (cf. txt_kernel)
+#. txt_kernel_default
+msgid "Default"
+msgstr ""
+
+#. menu item for kernel variant (cf. txt_kernel)
+#. -> like in txt_safe_linux
+#. txt_kernel_safe
+msgid "Safe Settings"
+msgstr ""
+
+#. menu item for kernel variant (cf. txt_kernel)
+#. -> similar to txt_noacpi_install
+#. txt_kernel_noacpi
+msgid "No ACPI"
+msgstr ""
+
+#. menu item for kernel variant (cf. txt_kernel)
+#. -> similar to txt_nolapic_install
+#. txt_kernel_nolapic
+msgid "No Local APIC"
+msgstr ""
+
+#. main menu: start in system repair mode
+#. txt_repain_system
+msgid "Repair Installed System"
+msgstr ""
+
+#. menu item
+#. txt_mediacheck
+msgid "Check Installation Media"
+msgstr ""
+
+#. menu item for keyboard layout (please keep it short)
+#. txt_keyboard
+msgid "Keyboard"
+msgstr ""
+
+#. menu title
+#. txt_dud_download
+msgid "Download Driver Update"
+msgstr ""
+
+#. input label
+#. txt_dud_enter_url
+msgid "Enter Driver Update URL\n"
+msgstr ""
+
+#. menu item
+#. txt_http_proxy
+msgid "HTTP Proxy"
+msgstr ""
+
+#. menu item
+#. txt_network_config
+msgid "Network Config"
+msgstr ""
+
+#. menu item
+#. txt_no_network
+msgid "No Network"
+msgstr ""
+
+#. short menu item for manual network config (NOT some kind of manual)
+#. txt_manual_network
+msgid "Manual"
+msgstr ""
+
+#. dialog title for manual network config
+#. txt_manual_network_title
+msgid "Manual Network Config"
+msgstr ""
+
+#. label for gateway ip
+#. txt_gateway_ip
+msgid "Gateway\n"
+msgstr ""
+
+#. label for dns domain name (like 'opensuse.org')
+#. txt_domain_name
+msgid "Domain Name\n"
+msgstr ""
+
+#. label for netmask; 'Host IP' refers to label txt_host_ip above
+#. txt_netmask
+msgid ""
+"Netmask\n"
+"(or use '/N' notation with Host IP)\n"
+msgstr ""
+
+#. label for Live CD installation
+#. txt_live_kde
+msgid "openSUSE Live (KDE)"
+msgstr ""
+
+#. label for Live CD installation
+#. txt_live_gnome
+msgid "openSUSE Live (GNOME)"
+msgstr ""
+
+#. menu label for an update (as opposed to a new installation)
+#. txt_upgrade
+msgid "Upgrade"
+msgstr ""
+
+#. label for name server (network setup)
+#. txt_nameservers
+msgid "Name servers, separated by spaces\n"
+msgstr ""
+
+#. label for ip address (network setup)
+#. txt_host_ip
+msgid ""
+"IP address with network prefix\n"
+"(Examples: 192.168.5.77/24 2001:db8:75:fff::3/64)\n"
+msgstr ""
+
+#. menu item to signify no KMS (KMS = kernel mode setting - keep the english 
acronym)
+#. txt_video_no_kms
+msgid "No KMS"
+msgstr ""
+
+#. menu item for booting an installed Linux system
+#. txt_systemboot
+msgid "Boot Linux System"
+msgstr ""
+
+#. menu item selecting a submenu with more entries
+#. txt_expert
+msgid "More ..."
+msgstr ""
+
+#. menu label for choosing installer screen size
+#. txt_installer_size
+msgid "Installer Size"
+msgstr ""
+
+#. menu label for choosing text console size
+#. txt_console_size
+msgid "Text Console Size"
+msgstr ""
+
+#. menu label for choosing screen size via BIOS
+#. txt_video_bios_size
+msgid "Video BIOS Size"
+msgstr ""
+
+#. menu label for choosing the color scheme of the installer
+#. txt_color_mode
+msgid "Color Mode"
+msgstr ""
+
+#. menu label for activating a screen reader (app reading screen content for 
blind people)
+#. txt_screen_reader
+msgid "Screen Reader"
+msgstr ""
+
+#. menu label for a color mode (cf. /txt_color_mode)
+#. txt_high_contrast
+msgid "High Contrast"
+msgstr ""
+
+#. menu label for a color mode (cf. /txt_color_mode)
+#. txt_white_on_black
+msgid "White on Black"
+msgstr ""
+
+#. menu label for a color mode (cf. /txt_color_mode)
+#. txt_cyan_on_black
+msgid "Cyan on Black"
+msgstr ""
+
+#. dialog title for https installation
+#. txt_https_title
+msgid "HTTPS Installation"
+msgstr ""

++++++ upstream.tar.xz ++++++

Reply via email to