https://bugs.kde.org/show_bug.cgi?id=395252

            Bug ID: 395252
           Summary: kbuildsycoca5 breaks if "byte order mark" (first 3
                    bytes) present in plaintext file "clickMe.desktop"
           Product: kde
           Version: unspecified
          Platform: Netrunner Rolling
                OS: Linux
            Status: UNCONFIRMED
          Severity: minor
          Priority: NOR
         Component: general
          Assignee: unassigned-b...@kde.org
          Reporter: fire...@firemail.cc
  Target Milestone: ---

The editor "Kate" offers to put 3 bytes "EF BB BF" in front of every text file
optionally (enable under "configure Kate : open/save ").  

https://en.wikipedia.org/wiki/Byte_order_mark

The BOM is invisible in Kate and will break a lot of softwares. The "EFBBBF" is
visible in Hex-editor "Okteta" only.

In particular,  kbuildsycoca5 v. 5.46.0   on a current June 2018 NetRunner ARCH
Rolling-release distro  will break with a cryptic error message, if one used
Kate with BOM enbabled to modify some  "clickMe.desktop" file in a trivial
manner and the .desktop file will no longer work, e.g. in Dolphin.


kbuildsycoca5  should either manage to detect and work with a BOM or at least
make a specific error message  e.g. :

"line 1 of the .desktop file contains a BOM as the first 3 bytes therefore
kbuildsycoca5  is breaking. 
Please remove the BOM with a Hex editor such as Okteta."


The error is somewhat nasty since both Kate and Kompare will always hide the
BOM so you don't see what the heck is going on.


How to reproduce:

in a bash shell in subdir   
/home/YOURSELF/.local/share/kservices5/ServiceMenus/     run:

touch kfind.desktop
# now edit this kfind.desktop file with Kate and paste this content:

[Desktop Entry]
Type=Service
X-KDE-ServiceTypes=KonqPopupMenu/Plugin,inode/directory
X-KDE-Priority=TopLevel
Actions=kfindhere;
Comment=KFind from here, very handy ! path is being preset
[Desktop Action kfindhere]
Name=KFind Files or Folders 
Name[es]=Buscar archivos/carpetas
Icon=kfind
Exec=kfind %u
# end of the kfind.desktop file is here

# enable BOM in Kate-settings and save the file with a BOM
# open kfind.desktop with okteta and verify that the first 3 bytes are EFBB...
or something.
# run
kbuildsycoca5

# it will give an error in "line 1" because of the BOM
# remove the BOM using Okteta, all will be working fine again if run  
"kbuildsycoca5"

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to