MediaTomb is an open source (GPL) UPnP MediaServer with a nice web user interface, it allows you to stream your digital media through your home network and listen to/watch it on a variety of UPnP compatible devices. MediaTomb implements the UPnP MediaServer V 1.0 specification that can be found on http://www.upnp.org/. The current implementation focuses on parts that are required by the specification, however we look into extending the functionality to cover the optional parts of the spec as well. MediaTomb should work with any UPnP compliant MediaRenderer, please tell us if you experience difficulties with particular models, also take a look at the Supported Devices list for more information. Reproducible: Always
Created attachment 114966 [details] Proposed ebuild for mediatomb-0.9.0_pre See also two attached files : config.xml and mediatomb-0.9.0.rc
Created attachment 114968 [details] files/config.xml (Default config file.)
Created attachment 114970 [details] files/mediatomb-0.9.0.rc (init script)
Created attachment 120926 [details] Proposed ebuild for mediatomb-0.9.1 Version bumped. Added some depends that probably should be optional. config.xml might have the wrong permissions with this ebuild. It should be owned by mediatomb for first run so that the uuid can be set from the daemon. After that it seems to work as readonly.
Created attachment 120928 [details] files/config.xml (updated default config file.) Version bump. Added section for PS3 compatibility though it is disabled by default.
Just testing this on amd64 - all appears fine and have run it from source before. You can remove libextractor from the dependencies as it stands because it's disabled by default (due to being really slow). Alternatively you could add another use flag for it.
I think we should add optional use flags for all of the dependencies that I added. I was going to but did not know if there were standard flags for those. I searched but couldn't find any. It works on ppc as well.
When is this going to be released as masked package? If you need testing in x86 based pc just give me a shout.
Created attachment 123544 [details] Updated mediatomb-0.9.1 ebuild
Created attachment 123545 [details] Updated mediatomb-0.9.1 init script
Created attachment 123547 [details] mediatomb-0.9.1 confd file
Created attachment 123549 [details] Updates mediatomb-0.9.1 config.xml file
I have posted an updated MediaTomb 0.9.1 ebuild, init script, confd file and config.xml. If you have installed one of the previous ebuilds, you can remove the mediatomb user as it is no longer required. Main changes are: 1. Added libextractor and taglib use flags. 2. Made id3lib and taglib support mutually exclusive as MediaTomb only uses one of them even if both are available. 3. Removed the need to create a mediatomb user. This also avoids setting the mediatomb users home dir to /etc/mediatomb as in previous ebuilds. 5. Set the MediaTomb home dir to /var/lib/mediatomb. This is inline with Debian systems and more appropriate than /etc/mediatomb. 4. Ebuild checks if either sqlite or mysql use flags are set before compiling. 6. Added a confd file to allow options to be passed to MediaTomb at start. 7. Various other changes such as ebuild formating fixes, shortened ebuild description, etc. I have not tested it on amd64 yet as the ebuild requires more testing before installing it on my stable amd64 system. The only problem I know of is that the ebuild will not recreate the /var/lib/mediatomb dir when re-emerging. This dir is removed by the ebuild when unmerging. Please test and post your feedback. Thanks.
I believe the ebuild should not automatically remove the /var/lib/mediatomb dir as it contains the sqlite database and bookmark file. This directory will also be deleted when re-emerging which I now realise is not desirable, as the user might just be building with different use flags, but will loose all data as a result. I will update the ebuild to instead print out a warning that the /var/lib/mediatomb dir needs to be deleted if MediaTomb is being uninstalled. This will also solve the problem of the /var/lib/mediatomb dir not being recreated when re-emerging. I recommend removing or commenting the entire pkg_prerm() function (line 80-83).
Created attachment 123586 [details] Updated mediatomb-0.9.1 ebuild
Created attachment 123588 [details] Updated mediatomb-0.9.1 init script
Created attachment 123590 [details] Updated mediatomb-0.9.1 confd file
Updated the mediatomb-0.9.1 ebuild,init script and confd file. Main updates: 1. confd file has more vars to pass to the init script. 2. Installed a .keep file to stop portage from removing the /var/lib/mediatomb dir on unmerge or re-emerge. 3. ebuild prints out a warning on unmerge to notify that the /var/lib/mediatomb dir might need to be deleted manually when wanting to uninstall MediaTomb. 4. Set the perms on config.xml to 0600. This is necessary as the config.xml might contain the MediaTomb MySQL db username and password. It seems that portage only sets these perms on a clean install. Portage doesn't set the perms when the config.xml file exists. In this case set the perms manually to 0600 or delete config.xml and re-emerge. This is not necessary on clean installs. 5. ebuild now installs the AUTHORS, ChangeLog, NEWS and README files.
I think it is safe to add ~ppc to the ebuild.
(In reply to comment #19) > I think it is safe to add ~ppc to the ebuild. > Ok. For the next update I will add ~amd64 and ~ppc. I believe MediaTomb also supports alpha, arm, mips and sparc. I didn't see ppc listed as a supported arch on the MediaTomb web page, but I will add it if it worked for you. I only have access to x86 and amd64. Thanks.
Created attachment 123773 [details] Updated mediatomb-0.9.1 ebuild Looks like running MediaTomb as root is not recommended by the MediaTomb devs. I have changed the ebuild to create a MediaTomb user and group. The home dir is set to /var/lib/mediatomb and owned by mediatomb:mediatomb. The config.xml file ownership is now root:mediatomb with 0660 perms. The init script has also been updated to start MediaTomb as mediatomb:mediatomb. This setup is similar to the previous ebuilds posted by KaZeR and Art. The only difference is the creation of a MediaTomb group and setting the home dir to /var/lib/mediatomb. If upgrading from the previous ebuild, then unmerge MediaTomb and remove /var/lib/mediatomb and /etc/mediatomb directories. Also remove any MediaTomb users or groups before emerging this ebuild.
Created attachment 123775 [details] Updated mediatomb-0.9.1 init script
Created attachment 123777 [details] Updated mediatomb-0.9.1 confd file
BT, do you think the DEPEND and RDEPEND sections are correct? Shouldn't some of the items in DEPEND be moved into runtime dependencies?
(In reply to comment #24) > BT, do you think the DEPEND and RDEPEND sections are correct? Shouldn't some of > the items in DEPEND be moved into runtime dependencies? > I'm not entirely sure. The Gentoo Development Guide states that DEPEND lists the "dependencies required to unpack, patch, compile or install the package". While RDEPEND lists the "dependencies which are required at runtime". From the ebuilds that I have taken a look at, most specify all their dependencies in RDEPEND. I would leave as is until a Gentoo developer takes a look at it.
Exactly, they specify dependencies in RDEPEND and we are not. It makes sense that we need stuff like taglib at runtime in addition to compile time.
(In reply to comment #26) > Exactly, they specify dependencies in RDEPEND and we are not. It makes sense > that we need stuff like taglib at runtime in addition to compile time. > Okay, looking at the dependencies, I think all of them would be added to RDEPEND and DEPEND will be set to RDEPEND. If you think thats the way to go I'll make the change in the next update. The only other problem with the ebuild that I can see is when it's built with MySQL alone. MediaTomb will fail to start without error and no log file will be created, which might make it difficult for some users. The reason is that the config.xml file doesn't have a MySQL section. The user needs to add it manually. I was thinking of adding a commented out MySQL section to the config.xml file and a message after emerging, stating the section needs to be uncommented and the correct values (username, paddword, db, host) added. If both MySQL and SQLite is compiled in, then we need to assume one as the default. I think it's best to have SQLite as it doesn't need any config. Do you think the ebuild needs anything else? Because I think thats about it.
Created attachment 123935 [details] Updated mediatomb-0.9.1 ebuild Main Changes: 1. Set all dependencies in RDEPEND and set DEPEND to RDEPEND. 2. Removed the sqlite use flag. If the mysql use flag is not set then MediaTomb is only built with SQLite support. If it is set then MediaTomb will only be built with MySQL support. In the case of MySQL, a message will be printed on post emerge informing the user how to setup up MediaTomb with MySQL. 3. Added user and group options to the confd file to allow the user to set the user and group to run MediaTomb as.
Created attachment 123936 [details] Updated mediatomb-0.9.1 init script
Created attachment 123938 [details] Updated mediatomb-0.9.1 confd file
The config.xml file has this entry <home>/etc/mediatomb</home>. Does that conflict with the /var/lib/mediatomb directory?
I just tried the newest version of the ebuild and the /var/lib/mediatomb isn't created. I deleted /var/lib/mediatomb and /etc/mediatomb, unmerged mediatomb and then reinstalled the newest ebuild and it will not start. It claims to start but when you try to stop it it says that it's not running. No mediatomb log file is present either.
Correction, the log file is there.
(In reply to comment #32) > I just tried the newest version of the ebuild and the /var/lib/mediatomb isn't > created. > > I deleted /var/lib/mediatomb and /etc/mediatomb, unmerged mediatomb and then > reinstalled the newest ebuild and it will not start. It claims to start but > when you try to stop it it says that it's not running. No mediatomb log file is > present either. > You need to completely remove any previous installs of mediatomb. Delete the /etc/mediatomb dir and /var/lib/mediatomb dir if it exists. Also remove the mediatomb user and group if they exist. Make sure that the init script and confd file are also removed. Then try and emerge my version. Make sure you also you my confd, initd and config.xml files.
It was the config file that got me. I never noticed that you had uploaded a new one. It seems to be working now.
Created attachment 124504 [details] Updated mediatomb-0.9.1 ebuild Forgot to add !mysql? for the sqlite dependency. This will prevent the SQLite source from being fetched even if the mysql use flag is set. There are no other changes.
Created attachment 124738 [details] mediatomb-0.10.0 ebuild MediaTomb 0.10.0 released. Main features are inotify and playlist support. Full change log here: http://mediatomb.cc/changelog.txt There are no changes from the previous ebuild.
Created attachment 124743 [details] mediatomb-0.10.0 config.xml file MediaTomb 0.10.0 generates a slightly different config.xml file.
I'm still not entirely satisfied with creating a customised config.xml file as it needs to be updated for every MedaiTomb release. MediaTomb can automatically generate a config.xml on first startup. Normally it is created in the MediaTomb home dir which by default is ~/.mediatomb. However, since I have set the home dir to /var/lib/mediatomb and split the config.xml in /etc/mediatomb, MediaTomb can't generate a config.xml automatically. This can be fixed if config.xml is set to /var/lib/mediatomb instead of /etc/mediatomb. This requires starting MediaTomb with -m /var/lib -f mediatomb options. One downside is that the MediaTomb configuration file will be kept in /var/lib/medaitomb instead of the Linux standard /etc. The other I think is that MediaTomb won't update the config.xml file when MediaTomb is upgraded. The only things we add to the config.xml file is the modified home dir section and the Playstation 3 compatibility section. I would like some feedback on this issue before making any changes, so please post any thoughts you may have. Thanks.
After weighing up the advantages and disadvantages of each method of config.xml generation, it seems the best method is manual generation (i.e. the current method). Unless someone comes up with a better method, things will stay as they are.
Would it be possible for someone to create a live svn ebuild? They've added transcoding support which is v useful for playing Xvid on your PS3 I'll have a look at it tonight but I'm sure someone hear could produce a neater implementation. Mike
(In reply to comment #41) > Would it be possible for someone to create a live svn ebuild? > > They've added transcoding support which is v useful for playing Xvid on your > PS3 > > I'll have a look at it tonight but I'm sure someone hear could produce a neater > implementation. > > Mike > Hi Mike, I have an SVN ebuild which I have been using to test the new features in MediaTomb. I have also been working closely with the MediaTomb devs to sort out most of the issues. I wasn't planning on posting the SVN ebuild on Bugzilla, so if you want I will email the relevant files to you. You can also find me in the MediaTomb IRC channel.
I'm sorta, kind interested in this. May even be goated into putting it into portage when the next version is officially released.
(In reply to comment #43) > I'm sorta, kind interested in this. May even be goated into putting it into > portage when the next version is officially released. > Hi Brent, There are currently no UPnP servers that I'm aware of in portage and MediaTomb would be a much needed and requested addition. It is a great app with even greater devs who are very helpful and friendly. Maintaining the MediaTomb ebuild has been fairly easy even with my limited skills so it shouldn't be too much trouble for a Gentoo dev :) I have noticed you on the MediaTomb IRC but you are usually aaway so I haven't had the chance to chat.
I'd be very pleased for it to get into the tree. I find it works well (I use it to feed a PS3), and this ebuild seems to be working pretty well now.
I also use mediatomb to stream to my PS3. It works very well (I do use the 0.10.0 ebuild provided in this bug), and I think the development continues in a very good direction. I would love to have it in the tree.
Created attachment 145059 [details] mediatomb-0.11.0 ebuild MediaTomb 0.11.0 has been released. The main feature of this release is transcoding support. The full changelog is available here: http://mediatomb.cc/changelog.txt
Created attachment 145061 [details] mediatomb-0.11.0 config.xml file
Created attachment 145063 [details] mediatomb confd file
Created attachment 145064 [details] mediatomb init script
Created attachment 145191 [details] updated mediatomb-0.11.0 ebuild Added a curl use flag for libcurl support and removed the transcode use flag. Transcoding support is now always enabled as it has no dependencies.
Hi everyone. I have a little problem. I think that instead of mediatomb decide which db backend to use, the use flags should force it : in my case, i have mysql installed for another purpose. I don't want to use it for mediatomb. If i emerge mediatomb with mysql disabled, it still detects that mysql is present and wants to use it later, when running it. I'd rather be able to force it to use sqlite. I don't know if other people are in my case, i'm waiting for your comments.
(In reply to comment #52) > Hi everyone. I have a little problem. I think that instead of mediatomb decide > which db backend to use, the use flags should force it : in my case, i have > mysql installed for another purpose. I don't want to use it for mediatomb. If i > emerge mediatomb with mysql disabled, it still detects that mysql is present > and wants to use it later, when running it. I'd rather be able to force it to > use sqlite. > > I don't know if other people are in my case, i'm waiting for your comments. > The ebuild uses sqlite by default unless you enable the mysql use flag. When you emerge MT a configuration summary will be printed right after configure finishes. Can you confirm that your configuration summary has sqlite3: yes, mysql: disabled. If somehow MT is being built with mysql support you would still need to enable it in config.xml as the default 0.11.0 config uses sqlite. I have tested with both mysql and -mysql use flags and it works as expected. Can you ensure that you have -mysql for MT in package.use.
Brent, if you don't mind, I'll look into adding this to portage after some test. I got a PS3 last week and... I have some time in my hands :)
Please add ~ppc to the ebuild before it gets into the tree.
Only keyword I can add is ~amd64. You'll have to request any other keyword once it gets into portage.
Diego, That's cool. And thanks.
Imported version 0.11.0 as net-misc/mediatomb, with a patch to build with current FFmpeg too.
*** Bug 215412 has been marked as a duplicate of this bug. ***