Created
January 3, 2012 18:23
-
-
Save metasta/1556177 to your computer and use it in GitHub Desktop.
patch & install forked-daapd
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh - | |
############################################ | |
# | |
# build_daapd.sh | |
# | |
# functions for install & upgrading forked_daapd. | |
# | |
# requires: | |
# sudo, aptitude | |
# audoconf, automake, gettext | |
# git-core, checkinstall | |
# | |
############################################ | |
# working dir (is equivalent to script dir) | |
basedir=$(cd $(dirname "$0");pwd) | |
create_artwork_patch() | |
{ | |
cat > "$basedir/artwork.patch" <<'___EOF___' | |
--- src/artwork.c.orig 2011-12-30 21:14:22.597629478 +0900 | |
+++ src/artwork.c 2011-12-30 21:40:51.581559588 +0900 | |
@@ -44,7 +44,7 @@ | |
static const char *cover_basename[] = | |
{ | |
- "artwork", "cover", | |
+ "folder", "artwork", "cover", | |
}; | |
static const char *cover_extension[] = | |
___EOF___ | |
return $? | |
} | |
create_configure_patch() | |
{ | |
cat > "$basedir/configure.patch" <<'___EOF___' | |
--- configure.orig 2011-12-30 23:23:14.733289306 +0900 | |
+++ configure 2011-12-30 22:51:41.697372580 +0900 | |
@@ -14891,7 +14891,7 @@ | |
fi | |
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_avcodec_av_lockmgr_register" >&5 | |
$as_echo "$ac_cv_lib_avcodec_av_lockmgr_register" >&6; } | |
-if test "x$ac_cv_lib_avcodec_av_lockmgr_register" = xyes; then : | |
+if true; then : | |
cat >>confdefs.h <<_ACEOF | |
#define HAVE_LIBAVCODEC 1 | |
_ACEOF | |
___EOF___ | |
return $? | |
} | |
try_patch() # filename.patch | |
{ | |
test $# -eq 1 || return $? | |
cd "$basedir/forked-daapd" \ | |
&& if patch --dry-run -p0 -N < "$1" | |
then | |
patch -p0 < "$1" ; return $? | |
else | |
patch --dry-run -p0 -NR < "$1" ; return $? | |
fi | |
return $? | |
} | |
download_daapd() | |
{ | |
cd "$basedir" && git clone git://git.debian.org/users/jblache/forked-daapd.git | |
return $? | |
} | |
update_daapd() | |
{ | |
cd "$basedir/forked-daapd" && git pull | |
return $? | |
} | |
make_daapd() | |
{ | |
trap "rm $basedir/artwork.patch $basedir/configure.patch" EXIT | |
create_artwork_patch && create_configure_patch || return $? | |
cd "$basedir/forked-daapd" \ | |
&& autoreconf -i \ | |
&& try_patch ../artwork.patch \ | |
&& try_patch ../configure.patch \ | |
&& ./configure --enable-static --prefix=/usr \ | |
--sysconfdir=/etc --localstatedir=/var \ | |
&& make \ | |
&& sudo checkinstall --pkgname=forked-daapd \ | |
--pkgversion="$(awk -F'[(), ]' \ | |
'/AUTOMAKE/{print $4}' < configure.in )" \ | |
--requires=libavahi-client-dev,libunistring-dev,libantlr3c-dev,\ | |
libconfuse-dev,libasound2-dev,libsqlite3-dev,libmp3lame-dev,libgcrypt-dev,\ | |
libdispatch-dev,libmxml-dev,libfaac-dev,libavl-dev,libtre-dev,zlib1g-dev \ | |
--backup=no --default --deldoc=yes | |
return $? | |
} | |
create_user() | |
{ | |
id daapd || sudo adduser --system --home=/var/cache/forked-daapd daapd | |
return $? | |
} | |
create_initscript() | |
{ | |
cat <<'___EOF___' | sudo tee /etc/init/forked-daapd.conf | |
start on started avahi-daemon | |
stop on stopping avahi-daemon | |
respawn | |
exec forked-daapd -f | |
___EOF___ | |
return $? | |
} | |
setup_daapd() | |
{ | |
create_user && create_initscript | |
return $? | |
} | |
purge_conflicts_daapd() | |
{ | |
sudo aptitude purge forked-daapd | |
return $? | |
} | |
install_depends_daapd() | |
{ | |
sudo aptitude install libtool clang gperf antlr3 \ | |
zlib1g-dev libtre-dev libavl-dev libmxml-dev \ | |
libantlr3c-dev libgcrypt-dev libdispatch-dev \ | |
libconfuse-dev libsqlite3-dev libasound2-dev \ | |
libunistring-dev libavahi-client-dev | |
return $? | |
} | |
install_daapd() | |
{ | |
if test -d "$basedir/forked-daapd/.git" | |
then | |
update_daapd || return $? | |
else | |
download_daapd || return $? | |
fi | |
purge_conflicts_daapd && install_depends_daapd && make_daapd && setup_daapd | |
return $? | |
} | |
main() | |
{ | |
install_daapd | |
return $? | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment