MusicPlayerDaemon / ncmpc

curses client for MPD
GNU General Public License v2.0
113 stars 22 forks source link

build: Find some way to remove rsync dependency #101

Closed ferdnyc closed 3 years ago

ferdnyc commented 3 years ago

Is it possible to handle the upload target in doc/meson.build in some other fashion, a way that's external to the build process?

The reason being, having that rule there creates a build-time dependency on rsync, and the build will fail if it's not installed — meson won't even generate the build system, it just errors out.

Run-time dependency threads found: YES
Run-time dependency Boost found: YES 1.75.0 (/usr)
Run-time dependency libmpdclient found: YES 2.19
Run-time dependency libpcre found: YES 8.44
Configuring Features.h using configuration
Configuring config.h using configuration
Program sphinx-build found: YES (/usr/bin/sphinx-build)
Program rsync found: NO

doc/meson.build:21:2: ERROR: Program 'rsync' not found

I just finished adding a patch to the Fedora package spec for ncmpc that will remove the upload target before generating, since it was preventing us from building ncmpc for Fedora 35. rsync isn't a dependency of ncmpc, so requiring it for the build to run (when it's not even going to be used) seems less than ideal.

eli-schwartz commented 3 years ago

Interesting. :/ This can indeed be done, but just out of curiosity, I wonder why you opened a PR to remove it entirely rather than an issue to have it made optional? :p If it's intended to be there, then moving it to some external process would probably be a loss of functionality.

MaxKellermann commented 3 years ago

With ncmpc documentation on https://ncmpc.readthedocs.io/en/latest/ automatically built from git, we don't need that rsync target anymore, so I'll eventually remove this as you suggested - but the proper fix for this initial problem is #102 indeed, so I merged that one for now.

eli-schwartz commented 3 years ago

Aha, not needing the rsync target anymore does seem convenient, indeed.

ferdnyc commented 3 years ago

but just out of curiosity, I wonder why you opened a PR to remove it entirely rather than an issue to have it made optional?

A fair question. The basic reason being, I was lazy. The PR is the exact patch that I added to the Fedora packaging, applied prior to building. I had faith that the devs wouldn't apply the PR if they solved this in some other way.

(There's sort of a disconnect between issues and PRs in Github. They share a common numbering but any request can only be one or the other, when often...)

Why-not-both.gif

eli-schwartz commented 3 years ago

Ha, I suppose we could always go back to attaching patch files to bugtrackers.