Skip to content

Package naming (from CMake / consumer perspective) #16

@ferdnyc

Description

@ferdnyc

I'm guessing this is going to be an unpopular suggestion, and I'll understand if it's rejected, but I'd like to suggest that the "external" tooling of the project — specifically, things like the CMake ${PROJECT_NAME} (and by extension, the names the EXPORTED config will install under) — be changed to something different from simply "XdgUtils".

Because:

  1. There's already an xdg-utils; it lives at https://people.freedesktop.org/~rdieter/xdg-utils/ and is already packaged in various distributions that way.
  2. This repo is not that xdg-utils, it's 'xdg-utils-cxx' ­— that's even the name of the project repo, so it's not like there's any disagreement on that
  3. By installing a CMake configuration named XdgUtilsConfig.cmake, it appears to be the configuration for that xdg-utils, not xdg-utils-cxx.
  4. By the same token, when some build documentation says that a build "needs XdgUtils" as a dependency, or offers the option to USE_SYSTEM_XDGUTILS (*cough* libappimage *cough*), it doesn't seem unreasonable to assume that having xdg-utils installed would be sufficient to satisfy that option. And it seems confusing to find out, "Oh, they didn't mean xdg-utils, they meant a different xdg-utils."
  5. While xdg-utils doesn't provide an EXPORTED CMake configuration today, they may in the future, which could cause a naming conflict.
  6. Due to the aforementioned preexistence of xdg-utils packages in most distros, this code can't be packaged as xdg-utils, it would have to be xdg-utils-cxx, only furthering the confusion about what exactly the required dependency is for any packages that depend on xdg-utils-cxx.

Also, not part of my actual argument, but just as a side note:

  1. The current naming totally missed a golden opportunity to be known as "cxxdg-utils". 😉

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions