Skip to content

Instantly share code, notes, and snippets.

@daktak
Created March 28, 2014 00:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save daktak/9822190 to your computer and use it in GitHub Desktop.
Save daktak/9822190 to your computer and use it in GitHub Desktop.
musicbrainz chroot gentoo init script
#!/sbin/runscript
PID="/var/run/musicbrainz/server.pid"
depend() {
need net
after portmap
after iptables
after dnsmasq
}
start() {
ebegin "Starting musicbrainz in chroot environment"
# Mount the dirs
mount -o bind /proc /pub/musicbrainz/proc > /dev/null
mount -o bind /dev /pub/musicbrainz/dev > /dev/null
mount -o bind /dev/shm /pub/musicbrainz/dev/shm > /dev/null
mount -o bind /dev/pts /pub/musicbrainz/dev/pts > /dev/null
mount -o bind /sys /pub/musicbrainz/sys > /dev/null
# Start the services in chroot
chroot /pub/musicbrainz /etc/init.d/cron start
chroot /pub/musicbrainz /etc/init.d/postgresql start
chroot /pub/musicbrainz /etc/init.d/redis start
chroot /pub/musicbrainz [ -a "$pid" ] && rm "$pid"
chroot /pub/musicbrainz sudo su - musicbrainz -c '/usr/bin/mbcontrol start'
eend $? "Errors were encountered while starting musicbrainz in chroot environment"
}
stop() {
ebegin "Stopping musicbrainz in chroot environment"
# Stop all the services in chroot
chroot /pub/musicbrainz sudo su - musicbrainz -c '/usr/bin/mbcontrol stop'
chroot /pub/musicbrainz /etc/init.d/redis stop
chroot /pub/musicbrainz /etc/init.d/postgresql stop
chroot /pub/musicbrainz /etc/init.d/cron stop
# Unmount the dirs
umount -f /pub/musicbrainz/dev/shm > /dev/null
umount -f /pub/musicbrainz/dev/pts > /dev/null
umount -f /pub/musicbrainz/sys > /dev/null
umount -f /pub/musicbrainz/proc > /dev/null
umount -f /pub/musicbrainz/dev > /dev/null
eend $? "Errors were encountered while stopping pub/musicbrainz in chroot environment"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment