Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 57066 - Ebuild for ShoutCAST server and source (closed-source)
Summary: Ebuild for ShoutCAST server and source (closed-source)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High enhancement (vote)
Assignee: Chris White (RETIRED)
URL: http://www.shoutcast.com
Whiteboard: source ebuild cleanup/testing
Keywords: EBUILD
Depends on:
Blocks:
 
Reported: 2004-07-14 12:54 UTC by GB
Modified: 2004-08-31 17:03 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
The actual ebuilds (shoutcast-ebuilds.tar.gz,1.56 KB, application/octet-stream)
2004-07-14 22:49 UTC, GB
Details
The ebuild for the server (shoutcast-server-bin-1.9.4.ebuild,1.41 KB, text/plain)
2004-07-15 03:20 UTC, GB
Details
The ebuild for the source (shoutcast-trans-bin-0.4.0.ebuild,1.48 KB, text/plain)
2004-07-15 03:21 UTC, GB
Details

Note You need to log in before you can comment on or make changes to this bug.
Description GB 2004-07-14 12:54:32 UTC
This is an ebuild for both the shoutcast server and the shoutcast source for Linux x86. Both are close-source and I don't know about their stability.

The ebuilds are basic, as the executables are binary, they are installed into /opt/shoutcast; config files go into /etc/shoutcast. If this is against some directive, sorry...

Reproducible: Always
Steps to Reproduce:
Comment 1 GB 2004-07-14 22:49:16 UTC
Created attachment 35450 [details]
The actual ebuilds
Comment 2 Jeremy Huddleston (RETIRED) gentoo-dev 2004-07-15 00:26:28 UTC
Please reattatch as text/plain... the ebuild should be called shoutcast-bin to reflect that it's a binary package.

Thanks.
Comment 3 GB 2004-07-15 03:20:44 UTC
Created attachment 35459 [details]
The ebuild for the server
Comment 4 GB 2004-07-15 03:21:06 UTC
Created attachment 35460 [details]
The ebuild for the source
Comment 5 Jeremy Huddleston (RETIRED) gentoo-dev 2004-07-20 18:06:12 UTC
Your ebuilds are missing the gentoo copyright notice... Please see the following URL for more information:

http://www.gentoo.org/doc/en/ebuild-mistakes.xml
Comment 6 Chris White (RETIRED) gentoo-dev 2004-07-22 13:23:09 UTC
Checking the license on this.
Comment 7 Chris White (RETIRED) gentoo-dev 2004-07-23 11:13:55 UTC
Ok, the legal part was approved by avenj.

This ebuild will be fetch restricted.  Users will be required to download the
file from the site only.  We are not allowed to mirror this according to the 
license agreement.

As the copyright header was missing, it's best to use skel.ebuild, which you'll find in your /usr/portage directory for creating new ebuilds.  This file contains the proper format for ebuild creation.  Thanks for your submission!
Comment 8 Chris White (RETIRED) gentoo-dev 2004-07-24 22:44:13 UTC
Ok, ebuild's starting to look good.

I had a chance to do some runtime tests with it, and so far so good.

I'm going to add a few einfo's in it, since some of the shoutcast docs
are a little misleading.
Comment 9 Chris White (RETIRED) gentoo-dev 2004-07-24 23:59:43 UTC
server now in cvs!

A couple of notes:

1) The wrapper you had can be achieved with an init.d script.  Please check
the one included with the ebuild.

2) There was a couple of log file issues in creating the init.d script
one of them was the various verbose output that the server does even in
background mode :).  Sed was used to turn these off.

3) The example for the content directory assignment is a little misleading
sed was used to take care of that.

4) A default content directory was created to cause the least ammount of hassle
to users, and the content directory was added to the config file.

The server was tested for on demand content streaming.  I have confirmed this
working, and ferringb has confirmed that outside streaming (ie. not localhost)
works as well.  Looks to be pretty good!

I'm working on the source ebuild next :).  Thanks for the submission!
Comment 10 GB 2004-07-29 11:34:34 UTC
Thank you very much for your quick taking-care of the ebuild! I am not an expert; and I was in holidays for one week, so I couldn't contribute any further...
Comment 11 Chris White (RETIRED) gentoo-dev 2004-08-31 17:03:34 UTC
Alright, now both packages are in cvs and ready to go :).

So, now for the comments:

-# ebuild for shoutcast-trans-bin
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-sound/shoutcast-trans-bin/shoutcast-trans-bin-0.4.0.ebuild,v 1.1 2004/08/31 23:57:00 chriswhite Exp $

need the header!  Very important.  Also don't need the ebuild comment.

-DESCRIPTION="The source for the shoutcast streaming server."
+DESCRIPTION="A transcoder that provides a source for shoutcast-server-bin to stream from."

Little bit better description.

-DEPEND=">=sys-libs/glibc-2.0.0
+DEPEND="virtual/libc

changed to a virtual depend (glibc is virtual now...)

-       # install executable
-       dodir /opt/shoutcast
+       # install executable

don't need the dodir, it is created automatically by doexe

-
-       # install exec wrapper and symlink
-       echo '#!/bin/sh
-cd /opt/shoutcast
-./sc_trans_linux /etc/shoutcast/sc_trans.conf
-' > sc_trans.wrapper
-       dodir /opt/shoutcast
-       exeinto /opt/shoutcast
-       doexe sc_trans.wrapper
-
-       dodir /usr/bin
-       dosym /opt/shoutcast/sc_trans.wrapper /usr/bin/sc_trans
-
+
+       # install the init.d file
+       doinitd ${FILESDIR}/shoutcast_trans
+

Used an init.d file instead.  Much cleaner.

-       dodir /etc/shoutcast
+       # filter out some midly offensive stuff in the config file
+       sed -e "s|^StreamTitle=.*|StreamTitle=Example Stream|" -i sc_trans.conf
+       sed -e "s|^StreamURL=.*|StreamURL=http://examplestream.com/|" -i sc_trans.conf
+       sed -e "s|^PlaylistFile=.*|PlaylistFile=/opt/shoutcast/playlists/example.lst|" -i sc_trans.conf
        insinto /etc/shoutcast

Filtered out all the offensive "Gay son" stuff :|.  Also made a
nice little directory:

+       # create a directory for playlists to be put
+       mkdir ${D}/opt/shoutcast/playlists

So users know where to put their playlists.

-       einfo "The executable for the shoutcast source is named sc_trans."
+       einfo "Shoutcast-trans can be started via the init.d script provided."
+       einfo "start it with /etc/init.d/shoutcast_trans"
        einfo
        einfo "The configuration file is /etc/shoutcast/sc_trans.conf."
        einfo "Please have a look at the playlist file setting."
        einfo "A sample playlist file can be found under /usr/share/doc/$P."
        einfo "It also contains instructions how to build a playlist."
+       einfo "A directory /opt/shoutcast/playlists has been created for storing playlists."

adjusted the einfo's a bit.

Other than that, great job!  Test this to your heart's content :).