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

            Bug ID: 498077
           Summary: digitaglinktree fails with blkid and does wrong uuid
                    extraction
    Classification: Applications
           Product: digikam
           Version: 8.5.0
          Platform: openSUSE
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: digikam-bugs-n...@kde.org
          Reporter: juer...@juergen-hannappel.de
  Target Milestone: ---

SUMMARY
at least on opensuse tumbleweed digitaglinktree fails in the getAlbumRoots{()
function trying to use blkid

STEPS TO REPRODUCE
1.   call digitaglinktree

OBSERVED RESULT
digitaglinktree -d /data/fotos/digikam4.db -l $(pwd)/tags
Cannot find device /dev/disk/by-uuid/ae0e20a3-b7eb-4ac1-9ecc-d91992003348 or 
..../AE0E20A3-B7EB-4AC1-9ECC-D91992003348. Skipped.
Processed 0 photos. 


EXPECTED RESULT
normal operation

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
(available in the Info Center app, or by running `kinfo` in a terminal window)
Linux/KDE Plasma: 
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
I traced the problem to two issues:
On opensuse a call like
    $uuiddev=`blkid -U $uuid`;
 fails because some nanny script says:
   Absolute path to 'blkid' is '/usr/sbin/blkid', so running it may require
superuser privileges (eg. root).
Fix: Use:
   $blkid = `PATH=\$PATH:/usr/sbin/ which blkid`
   chomp $blkid
   $uuiddev=`$blkid -U $uuid`;

Other issue: Extracxing the uuid from the identifier with
   $uuid=$identifier;
   $uuid=~s/^.*uuid=//i;
Doesn't work,
  ($uuid) = $identifier =~ /\?uuid=([-0-9a-z]+)\&/;
does..


So the total diff to fix the bug would be:
diff digitaglinktree /usr/bin/digitaglinktree
839,841c839,840
<        $blkid = `PATH=\$PATH:/usr/sbin/ which blkid`;
<        chomp $blkid;
<          ($uuid) = $identifier =~ /\?uuid=([-0-9a-z]+)\&/;
---
>        $uuid=$identifier;
>        $uuid=~s/^.*uuid=//i; 
844c843
<           $uuiddev=`$blkid -U $uuid`;
---
>           $uuiddev=`blkid -U $uuid`;
847c846
<           $uuiddev=`$blkid -U $ucuuid`;
---
>           $uuiddev=`blkid -U $ucuuid`;

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

Reply via email to