Skip to content
  • Harald Sitter's avatar
    replace samba module with data that works · f1768f7b
    Harald Sitter authored
    Summary:
    ... and doesn't require lots of maintenance!
    this targets 5.18 but is kind of unfortunate because it needs a bunch of
    new strings as no existing strings provide what is needed here.
    
    the previous module was super broken in various ways.
    in the interest of maintainability I've thrown everything out and replaced
    it with 2 core features which require only modeling code on the KInfoCenter
    end and provide actually (possibly) useful functionality to the design
    personas of plasma.
    
    there is now a single page which contains two table views:
    
    a) Exports: this is a simple table of shares "exported" from the host. the
       data for this comes from KSambaShare in KIOCore. this is the same API
       used by dolphin to create new shares, so the data will be consistent
       and the API needs maintaining anyway
    b) Imports: simple table of shares "imported" (i.e. mounted) onto the host.
       the data for this comes from solid
    
    both are backed by models, with an eye towards a future port to qml (out of
    scope since I want this fixed for 5.18)
    
    all previous functionality was removed, in part because it was doing CLI
    parsing, some of the parsing was broken, some of the CLI tools couldn't
    even run as !root, log parsing could use incorrect paths on existing users,
    log parsing has nothing to parse with samba defaults, log parsing didn't
    implement per-host log file support (current default in samba), log parsing
    didn't correctly implement per-user-config-log-file support.
    in short: there was not a single feature that worked properly.
    
    BUG: 411433
    BUG: 374141
    BUG: 325951
    FIXED-IN: 5.18.1
    
    {F8053130}
    
    Test Plan:
    # exports
    
    - nothing when nothing is exported
    - changing exports via dolphin is immediately reflected in the kcm
    - export data is valid
    
    # imports
    
    - nothing when nothing is mounted
    - (un)mounting a cifs updates the view immediately
    - data is valid
    
    Reviewers: #localization, #plasma, #vdg, davidedmundson
    
    Reviewed By: #plasma, #vdg, davidedmundson
    
    Subscribers: jriddell, davidedmundson, ltoscano, yurchor, ngraham, alexde, plasma-devel
    
    Tags: #plasma
    
    Differential Revision: https://phabricator.kde.org/D27061
    f1768f7b