Debian package for XBMC/Linux

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
yuvalt Offline
Retired Team-Kodi Member
Posts: 420
Joined: May 2004
Reputation: 0
Location: Israel
Question  Debian package for XBMC/Linux
Post: #1
Hi,

I started to look into creating a Debian package (which could be apt-get) and I want to hear some ideas how it should be implemented. The possibilities are:
1. Install all XBMC under /usr/xbmc with read/write permissions to a group called "xbmc". Only users in that group will have the option to run/write/read from that directory.
2. Break the XBMC tree into several locations: binaries and scripts go to /usr/xbmc, user data goes to $HOME/.xbmc/UserData, etc, etc. This is a bit more problematic as it requires possible code changes and it also requires to be root in order to install scripts for example.

I'm open to other ideas and comments.

Thanks,

-Yuval
find quote
asg Offline
Member
Posts: 80
Joined: Nov 2005
Reputation: 0
Post: #2
Hi yuvalt,

very nice idea! but please take a look at http://www.us.debian.org/doc/packaging-m...s-2.3.html.

my suggestions:

* /usr/share/xbmc (main program)
* /etc/xbmc/ (softlinked main configs like advancedsettings.xml, sources.xml etc.)
* $HOME/.xbmc/profile (user profile if using profiles)

The best way would be a system user "xbmc" with no shell (/bin/false) who runs the entire media center, so theres no need to be root to install scripts or skins into the xbmc folders. Only some scripts need interactive editing, but this could also be done by "better" scripting, so scripts get configured on screen without an editor.

Maybe we could also package skins and scripts to be installed via apt?

Regards
asciii
find quote
Solo0815 Offline
Fan
Posts: 341
Joined: Sep 2004
Reputation: 0
Post: #3
My opinion is I prefer the first method -> /usr/xbmc

xbmc itself controls the xbmc-users` permissions. So a PC with Xbmc-Linux should boot into xbmc and _then_ users can login like in the "normal" XBMC on Xbox.

there are only 10 sorts of people: those who understand binary and those who don't

PC: Kubuntu 14.04 and Win7 --- Raspberry Pi: OpenELEC --- VU+ Duo: VTi 7.0.x --- NAS: OMV 1.0.x with XBMC-Server
find quote
yuvalt Offline
Retired Team-Kodi Member
Posts: 420
Joined: May 2004
Reputation: 0
Location: Israel
Post: #4
Any more thoughts??
find quote
pike Offline
Project Manager
Posts: 4,835
Joined: Sep 2003
Reputation: 29
Location: Sweden
Post: #5
is option 2 compatible with all distros ?

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


[Image: badge.gif]
find quote
asg Offline
Member
Posts: 80
Joined: Nov 2005
Reputation: 0
Post: #6
Yes. If you specify a "valid" location for the main part of xbmc (e.g /usr/share/xbmc) it should be compatible with all major distributions .. see
http://en.wikipedia.org/wiki/Filesystem_...y_Standard
find quote
yuvalt Offline
Retired Team-Kodi Member
Posts: 420
Joined: May 2004
Reputation: 0
Location: Israel
Post: #7
Option #2 is much more work than option #1 but it is cleaner in terms on FHS. In option #1 we just dump everything under /opt/xbmc and require a special xbmc user to run everything.
find quote
bmfrosty Offline
Fan
Posts: 305
Joined: Mar 2007
Reputation: 0
Post: #8
Option #2. Really. Leave everything in the /usr/xbmc/ as the defaults, and when a new user runs the program, it should copy default configs to ~/.xbmc where all config changes are made on a per user basis. So when loading configs(and skins and scripts), it should start by looking in /usr/xbmc, and then it should add anything found in /etc/xbmc, and then last it should add anything in ~/.xbmc.

Another way to put it would be:

1. The Defaults
2. System specific settings (video and audio choices)
3. All the User stuff (skins, .

There should also be settings that can be locked out for the users for the overbearing fascist admins out there.
find quote
yuvalt Offline
Retired Team-Kodi Member
Posts: 420
Joined: May 2004
Reputation: 0
Location: Israel
Post: #9
Don't you think it's a little bit too much for a client application? Is it really going to be used on a multi-user environment?

I think I'll start with building a distro with option #1 under /opt/xbmc and start getting some feedback from the community. If there's enough screaming, I'll fix it...although it's a very big fix in the way XBMC is written.
find quote
bmfrosty Offline
Fan
Posts: 305
Joined: Mar 2007
Reputation: 0
Post: #10
Given that this is most likely for single purpose computers, you're probably right. At minimum there should be separate directories for files included in the distro, and files that are modified by the user though. Maybe you could change /UserData to ~/.xbmc/UserData and add secondary search directories for scripts as and skins as ~/.xbmc/scripts and ~/.xbmc/skins.
find quote
bmfrosty Offline
Fan
Posts: 305
Joined: Mar 2007
Reputation: 0
Post: #11
Also, system type things like which default audio out to use and what default video mode to use should be kept in /etc/xbmc.

I really hate to see users having to make modifications to /usr/xbmc.
find quote
yuvalt Offline
Retired Team-Kodi Member
Posts: 420
Joined: May 2004
Reputation: 0
Location: Israel
Post: #12
That's why I said it should be /opt/xbmc and not /usr/xbmc
find quote
bmfrosty Offline
Fan
Posts: 305
Joined: Mar 2007
Reputation: 0
Post: #13
yuvalt Wrote:That's why I said it should be /opt/xbmc and not /usr/xbmc

Either works. /opt is the better choice from an ideological standpoint, but from a programming standpoint, there should be little difference. The program should execute from wherever in the directory tree it is and look for initial configuration in relevant positions from there. Any way around it should be looking for configuration in the program directory, the etc directory, and then finally in the user directory.
find quote
atom Offline
Junior Member
Posts: 12
Joined: Feb 2005
Reputation: 0
Post: #14
/opt/xbmc is a much better location than /usr/xbmc if you're not going to put everything in the correct FHS locations. i find config files in /opt acceptable.
find quote
atom Offline
Junior Member
Posts: 12
Joined: Feb 2005
Reputation: 0
Post: #15
ideally we should make decisions that will apply across all distributions. that probably won't help you get the deb created any quicker though.
find quote
Post Reply