hickinbottoms / squeezecenter-ebuild-for-gentoo

The development version of the SqueezeCenter ebuild for Gentoo Linux. This generally contains development or soon-to-be-released versions of the ebuild that will later be in the official Portage tree

This URL has Read+Write access

hickinbottoms (author)
Tue May 26 05:12:33 -0700 2009
commit  582c01f9aeb5391f59e53ea1e2130473a95afd09
tree    de48aae73776dcced78656386a8db5528eab44e2
parent  bbd78bcd4b267dda4bfb9aaec2a1f6870d2bd3b7 parent  75893ffa464fdb14a6960464c35d059e2c014658
squeezecenter-ebuild-for-gentoo / Makefile
100644 98 lines (85 sloc) 4.116 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
VM_DIR=/var/vm/squeezecenter
HDA_IMG=gentoo.cow
HDB_IMG=media.cow
VM_MEM=256
PIDFILE=qemu.pid
VMHOST=chandra
SSH=ssh root@$(VMHOST)
SCP=scp
 
LOCAL_PORTAGE=/usr/local/portage
EBUILD_PREFIX=squeezecenter
EBUILD_CATEGORY=media-sound/$(EBUILD_PREFIX)
EBUILD_DIR=$(LOCAL_PORTAGE)/$(EBUILD_CATEGORY)
 
P=squeezecenter-7.3.3
 
PATCHES= $(P)-mDNSResponder-gentoo.patch \
$(P)-build-perl-modules-gentoo.patch \
$(P)-aac-transcode-gentoo.patch \
$(P)-json-xs-gentoo.patch
 
FILES=dbdrop-gentoo.sql \
dbcreate-gentoo.sql \
squeezecenter.prefs \
squeezecenter.init.d \
squeezecenter.conf.d \
squeezecenter.logrotate.d \
avahi-squeezecenter.service \
Gentoo-plugins-README.txt \
gentoo-filepaths.pm
 
all: inject
 
inject: patches
[ -f $(PIDFILE) ] || echo error: VM not running
[ -f $(PIDFILE) ] && echo Injecting ebuilds...
$(SSH) "rm -r $(EBUILD_DIR)/* >/dev/null 2>&1 || true"
$(SSH) mkdir -p $(EBUILD_DIR) $(EBUILD_DIR)/files
$(SCP) metadata.xml *.ebuild root@$(VMHOST):$(EBUILD_DIR)
(cd files; $(SCP) $(FILES) root@$(VMHOST):$(EBUILD_DIR)/files)
(cd patch_dest; $(SCP) $(PATCHES) root@$(VMHOST):$(EBUILD_DIR)/files)
./inject-vendor-src vendor-src $(VMHOST)
$(SSH) 'cd $(EBUILD_DIR); ebuild `ls *.ebuild | head -n 1` manifest'
echo Unmasking ebuild...
$(SSH) mkdir -p /etc/portage
$(SSH) "grep -q '$(EBUILD_CATEGORY)' /etc/portage/package.keywords >/dev/null 2>&1 || echo '$(EBUILD_CATEGORY) ~x86' >> /etc/portage/package.keywords"
$(SSH) "grep -q 'dev-perl/YAML-Syck' /etc/portage/package.keywords >/dev/null 2>&1 || echo 'dev-perl/YAML-Syck ~x86' >> /etc/portage/package.keywords"
$(SSH) "grep -q 'dev-perl/Encode-Detect' /etc/portage/package.keywords >/dev/null 2>&1 || echo 'dev-perl/Encode-Detect ~x86' >> /etc/portage/package.keywords"
$(SSH) "grep -q 'dev-perl/DBI' /etc/portage/package.keywords >/dev/null 2>&1 || echo 'dev-perl/DBI ~x86' >> /etc/portage/package.keywords"
$(SSH) "grep -q 'dev-perl/JSON-XS' /etc/portage/package.keywords >/dev/null 2>&1 || echo 'dev-perl/JSON-XS ~x86' >> /etc/portage/package.keywords"
$(SSH) "grep -q 'dev-perl/SQL-Abstract-Limit' /etc/portage/package.keywords >/dev/null 2>&1 || echo 'dev-perl/SQL-Abstract-Limit' >> /etc/portage/package.keywords"
$(SSH) "echo 'dev-perl/GD jpeg png' >> /etc/portage/package.use"
$(SSH) "echo 'media-libs/gd jpeg png' >> /etc/portage/package.use"
$(SSH) "echo 'media-sound/squeezecenter flac lame' >> /etc/portage/package.use"
$(SSH) "echo 'media-sound/sox flac' >> /etc/portage/package.use"
 
vmreset: vmstop
sudo ls >/dev/null
echo Resetting VM...
-sudo rm $(VM_DIR)/$(HDA_IMG) 2>/dev/null
sudo sh -c "pv $(VM_DIR)/$(HDA_IMG).orig.gz | gunzip > $(VM_DIR)/$(HDA_IMG)"
 
vmstart:
sudo ls >/dev/null
echo Starting VM...
-[ -f $(PIDFILE) ] && sudo rm $(PIDFILE)
sudo qemu -boot c -m $(VM_MEM) -vnc :0 -kernel-kqemu -localtime -k en-gb \
-hda $(VM_DIR)/$(HDA_IMG) -hdb $(VM_DIR)/$(HDB_IMG) \
-pidfile $(PIDFILE) \
-net nic -net tap&
sleep 5
sudo chown stuarth:users $(PIDFILE)
 
vmstop:
sudo ls >/dev/null
echo Stopping VM...
-[ -f $(PIDFILE) ] && $(SSH) poweroff
-[ -f $(PIDFILE) ] && export QPID=`cat $(PIDFILE)`; [ -f $(PIDFILE) ] && while [ -d /proc/$$QPID ]; do sleep 1; done
 
vmkill:
sudo ls >/dev/null
echo Killing VM...
-[ -f $(PIDFILE) ] && xargs sudo pkill < $(PIDFILE)
-[ -f $(PIDFILE) ] && sudo rm $(PIDFILE)
 
uninstall:
[ -f $(PIDFILE) ] || echo error: VM not running
-$(SSH) /etc/init.d/squeezecenter stop
-$(SSH) emerge --unmerge squeezecenter
-$(SSH) rm -f /etc/init.d/sqeezecenter /etc/conf.d/squeezecenter /etc/logrotate.d/squeezecenter /etc/squeezecenter.prefs
-$(SSH) rm -fr /var/log/squeezecenter /var/cache/squeezecenter /var/lib/squeezecenter/cache /var/lib/squeezecenter/prefs /etc/squeezecenter
 
patches:
./mkpatch $(P)-mDNSResponder-gentoo.patch Slim/Networking/mDNS.pm
./mkpatch $(P)-build-perl-modules-gentoo.patch Bin/build-perl-modules.pl Slim/bootstrap.pm
./mkpatch $(P)-aac-transcode-gentoo.patch convert.conf
./mkpatch $(P)-json-xs-gentoo.patch Slim/Formats/XML.pm Slim/Plugin/LastFM/ProtocolHandler.pm Slim/Plugin/Sirius/ProtocolHandler.pm