1
0
mirror of https://github.com/SuperBFG7/ympd synced 2024-12-27 11:20:26 +00:00
Standalone MPD Web GUI written in C, utilizing Websockets and Bootstrap/JS. Updated and somewhat fixed fork.
Go to file
azrdev c1f1adbc28 Don't overwrite CFLAGS
Preserve user/system-configured C_FLAGS.

This broke the rpm package build on fedora: They enable a hardened config (i.e. ASLR) by default, which adds -pie and -fPIC to linker and compiler flags. Overwriting C_FLAGS removed the compiler spec, but not the linker one, leading to an error like:

/bin/cc  -std=gnu99 -Wall -ggdb -pedantic  -specs=/usr/lib/rpm/redhat/redhat-hardened-ld CMakeFiles/mkdata.dir/tools/mkdata.c.o  -o mkdata -rdynamic 
bin/ld: CMakeFiles/mkdata.dir/tools/mkdata.c.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
CMakeFiles/mkdata.dir/tools/mkdata.c.o: error adding symbols: Bad value

With this fix, the error is gone:

/bin/cc  -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -std=gnu99 -Wall -g -ggdb -pedantic  -specs=/usr/lib/rpm/redhat/redhat-hardened-ld CMakeFiles/mkdata.dir/tools/mkdata.c.o  -o mkdata -rdynamic
2017-05-14 07:37:46 +02:00
cmake initial mongoose checkin 2014-03-08 12:30:48 +01:00
contrib fix webport using the wrong variable in init scripts 2015-05-01 20:57:58 -04:00
htdocs removed minified files, minifing should be part of build process 2016-02-13 21:58:43 +01:00
src fix handling of commas in library item names 2016-01-25 13:29:28 +01:00
tools release build now installs assets to prefix 2014-11-11 21:13:11 +01:00
.travis.yml probably fix travis ci 2016-02-13 18:09:27 +01:00
CMakeLists.txt Don't overwrite CFLAGS 2017-05-14 07:37:46 +02:00
LICENSE replaces libwebsockets with mongoose, changed licese to gpl 2014-03-08 12:30:49 +01:00
README.md added documentation for SSL usage 2015-10-06 18:53:14 +02:00
ympd.1 manpage: set section to 1 and update version 2015-05-01 17:06:09 -04:00

Build Status ympd

Standalone MPD Web GUI written in C, utilizing Websockets and Bootstrap/JS

http://www.ympd.org

ScreenShot

Dependencies

Unix Build Instructions

  1. install dependencies, cmake and libmpdclient are available from all major distributions.
  2. create build directory cd /path/to/src; mkdir build; cd build
  3. create makefile cmake .. -DCMAKE_INSTALL_PREFIX:PATH=/usr
  4. build make
  5. install sudo make install or just run with ./ympd

Run flags

Usage: ./ympd [OPTION]...

 -h, --host <host>          connect to mpd at host [localhost]
 -p, --port <port>          connect to mpd at port [6600]
 -w, --webport [ip:]<port>  listen interface/port for webserver [8080]
 -u, --user <username>      drop priviliges to user after socket bind
 -V, --version              get version
 --help                     this help

SSL Support

To run ympd with SSL support:

  • create a certificate (key and cert in the same file), example:
# openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 1000 -nodes
# cat key.pem cert.pem > ssl.pem
  • tell ympd to use a webport using SSL and where to find the certificate:
# ./ympd -w "ssl://8081:/path/to/ssl.pem"

2013-2014 andy@ndyk.de