Edit

IABSD.fr/ports/x11/kde4/UPDATE

Branch :

  • Show log

    Commit

  • Author : zhuk
    Date : 2014-11-03 08:13:29
    Hash : ec5e7132
    Message : One more item almost always forgotten.

  • x11/kde4/UPDATE
  • Here is a checklist for updating KDE4 SC. The same should apply to
    KDE5 in future.  Based on mistakes zhuk@ did (often) in the past.
    Feel free to improve and extend with description of non-trivial
    errors could happen.
    
    Those instructions could miss something critical due to changes in
    KDE build system or interdependencies; beware and please keep this
    file up-to-date to at least avoid extra errors on minor updates.
    
    * Use "sh ./kde-release-helper prepare X.Y.Z" to get testing directory
    ${PORTSDIR}/x11/kdeXYZ. This will strip REVISIONs in Makefiles,
    remove distinfo (so that it will be easy to detect ports you didn't
    gone through yet) and so on. Note that CVS/Root files will still
    point under ports/x11/kde4, so you can fix other things under
    x11/kde4 and then simply "cvs up" under x11/kdeXYZ. Make sure that
    X.Y.Z is added to the _MODKDE4_OTHERS line in x11/kde4/kde4.port.mk.
    
    * Use "sh ../kde4/kde-release-helper check-lists" to see what
    packages are new and what are not. This will work only after official
    KDE release announcement made, though, because it uses the official
    mirrors to download lists of distfiles. The changes in l10n packages
    list should be reflected in l10n/Makefile.langs.
    
    * Check if resources-only ports (kde-wallpapers, oxygen-icons,
    base-artwork) were changed at all. If not, then it's better override
    MODKDE4_VERSION in those ports to avoid users re-download same
    package.
    
    * Generic workflow for updating ports:
      1. make configure
         If the "patch" stage fails, fix, then redo "make configure".
         Check for dependency changes, and pay attention to the messages
         like "could not determine proper linking order": those indicate
         wrong order in target_link_libraries() calls that should be fixed.
         Those warnings usually won't happen on a clean system (no other
         versions of KDE installed, so it's RECOMMENDED to do manual part
         of the update while having all of the KDE SC installed.
    
      2. make update-plist
         Pay attention to NOT removing the following lines from pkg/PLIST:
           share/apps/solid/
           share/apps/solid/actions/
         The removal could happen due to the fact that default run-time
         dependency in case of multimedia/phonon ports module happens on
         phonon-vlc, which in turn depends on (surprise!) x11/vlc, which
         in turn already contains those. But the other Phonon backend,
         phonon-gstreamer, doesn't provide those directories. So to
         support both backends, we should have those directories listed.
    
      3. make port-lib-depends-check
         Beware: it's known for stuff depending on the R package to display
         non-critical warnings about libraries not found here.
    
    * Update of l10n stuff is simple:
        cd l10n/ru && make makesum && cd .. && \
        make DANGEROUS=yes update-plist package
      The build framework will take care on tweaking CMakeLists.txt and
      removing extra stuff like localized manual pages.
    
    * Generic order of update:
      1. oxygen-icons, smokegen, productivity/akonadi, multimedia/phonon*
      2. libs, smokeqt, l10n
      3. libk*, baloo, Qt bindings, *thumbs, graphics-mobipocket,
         graphics-strigi-analyzer, kqtquickcharts
      4. nepomuk-core, baloo-widgets, kross-interpreters
      5. pimlibs, baseapps
      6. runtime, pim-runtime, py-kde, okular, marble
      7. kate, workspace
      8. smokekde and everything else except KDE bindings and webdev
      9. KDE bindings
     10. webdev
    
    * When you think you're done, merge things back:
        sh ../kde4/kde-release-helper merge
    
    * Now check that everything works fine still:
        cd ../kde4 && make clean="all dist"
        dpb x11/kde4
    
    * On commit, remember to clean up REVISION marks and do other tweaks,
      if needed, in meta/kde4, and commit it as well.
      Also, remember to regen distinfo in x11/kde-shared-data and include
      it in the KDE update commit.