Archived

This topic is now archived and is closed to further replies.

Civilian

Packages for various distros

Recommended Posts

Gentoo ebuild: net-p2p/utorrent-server-3.0.21701.ebuild, mirror.

It still lack init-script becouse of I don't have enough time for making proper script and config atm, but it's installable and runs quite well on my ~amd64 system.

It will install utorrent to /opt/utorrent-server/bin, manuals to /opt/utorrent-server/share/doc and webui.zip to /opt/utorrent-server/share/webui so it'll be more unix-way structure of package.

If structure won't change in later versions it should work for them just with renaming.

Share this post


Link to post
Share on other sites

In this state it's impossible to make a standard conform package from it. AFAIK, installing in opt isn't an option for packages of my distribution (Arch).

It should be:

/usr/bin/utserver

/etc/utserver.conf

/etc/rc.d/utserver (which would be the daemon script)

/usr/share/utserver/webui.zip (well, zip isn't good but however)

/usr/share/man/man1/utserver (If there was a manpage :/)

/usr/share/doc/[content of docs]

~/utserver (for per-user-config if any any and those .dat files in case they're per-user)

And something in /var for the .dat files if it's running as a deamon but they're not the unix way anyways (->they suck).

So a lot has to happen until ppl. can really make such packages.

Share this post


Link to post
Share on other sites

I think it depends on distro, so every distro make it's default choice for binary packages. For gentoo it's standart that everything proprietary (if it's not a game) goes to /opt, so I made a ebuild that installs utorrent-server to /opt.

It'll always be a distro-specific choice. This topic is just for users such as I that made their own packages of this program. Maybe it'll help authors of utorrent to understand philosophy of at least fedora, debian, ubuntu.

Share this post


Link to post
Share on other sites

We'll add a commandline parameter to specify where it should look for the config file. From the conf file itself, you can then specify where everything else lives.

Share this post


Link to post
Share on other sites
In this state it's impossible to make a standard conform package from it. AFAIK, installing in opt isn't an option for packages of my distribution (Arch).

It should be:

/usr/bin/utserver

/etc/utserver.conf

/etc/rc.d/utserver (which would be the daemon script)

/usr/share/utserver/webui.zip (well, zip isn't good but however)

/usr/share/man/man1/utserver (If there was a manpage :/)

/usr/share/doc/[content of docs]

~/utserver (for per-user-config if any any and those .dat files in case they're per-user)

And something in /var for the .dat files if it's running as a deamon but they're not the unix way anyways (->they suck).

So a lot has to happen until ppl. can really make such packages.

Arch has no problems with things being installed to /opt. You'd just have to make sure to add the directory it's installed to to $PATH.

Share this post


Link to post
Share on other sites

what about creating an account on the opensuse build service? you can set utorrent to build for opensuse, fedora, debian, ubuntu, and mandriva all in one go!

https://build.opensuse.org/

this makes creating packages for different distros more centralized, and you can keep the packages up to date. anyone who uses their own package manager can add your repository and automatically get updates when they are released.

Share this post


Link to post
Share on other sites

~/utserver (for per-user-config if any any and those .dat files in case they're per-user)

Don't make slackware from my home directory. There is standart for such things and it is called freedesktop.org

http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html

And something in /var for the .dat files if it's running as a deamon but they're not the unix way anyways (->they suck).

For systemwide configuration daemon should keep it's file in /var/lib or /var/cache depending on importance of theese files for normal work. For utorrent, I think, it would be better to keep them in /var/lib

Share this post


Link to post
Share on other sites
In this state it's impossible to make a standard conform package from it. AFAIK' date=' installing in opt isn't an option for packages of my distribution (Arch).

[...']

So a lot has to happen until ppl. can really make such packages.

Arch has no problems with things being installed to /opt. You'd just have to make sure to add the directory it's installed to to $PATH.

It's a rule for arch packages that they mustn't install in /opt, it's for manually installed stuff only, that's what I meant.

Firon: Sounds good - *waiting for the next release*

Share this post


Link to post
Share on other sites

Hey guys,

I'm currently working on a .deb binary package of rev 22789.

I've done most of the installation like this:

/etc/init.d/utserver/etc/utserver/utserver.conf (Still working on getting all the options from the PDF into this)/usr/sbin/utserver/usr/share/doc/utserver/<contents of the tarball/doc>/usr/share/man/man1/utserver.1.gz (has basic info. need to add all command line options apart from daemon  )/usr/share/utserver/webui.zip/var/log/utserver/<logfiles>

I've stopped at the very tedious task of adding all the options on the utserver.conf cuz they are quite a few and I'm adding the help text for each option as a comment above the option.

I've completed a rudimentary init.d script that will probably start and stop the server and the package already register it as a service, with the appropriate links to rcN.d

I've created an account under Lauchpad to deliver this package but haven't had time yet to complete all the hoops they make you go through.

Will post with some updates.

BTW, any suggestion is also much appreciated to help get this onto public eyes.

Cheers,

Gus

Share this post


Link to post
Share on other sites
I've completed a rudimentary init.d script that will probably start and stop the server and the package already register it as a service, with the appropriate links to rcN.d

After having a little looksy through the forum I've found the init script that Superman uses and I'm going to integrate it on the .deb package.

Cheers,

Gus

Share this post


Link to post
Share on other sites
I've completed a rudimentary init.d script that will probably start and stop the server and the package already register it as a service' date=' with the appropriate links to rcN.d[/quote']

After having a little looksy through the forum I've found the init script that Superman uses and I'm going to integrate it on the .deb package.

Cheers,

Gus

So any word on a full .deb package. I'm hoping this would make it easier for me to get utserver running on my centos seedbox.

Share this post


Link to post
Share on other sites
So any word on a full .deb package. I'm hoping this would make it easier for me to get utserver running on my centos seedbox.

Ooops, should've updated the status :)

I've ran into some odd, well to me at least, issues trying to understand what needs to be done to have a binary only package on LPA, and I've given up temporarily.

I'm thinking of making it available from a site, but then the update feature would be broken, or not, still have to investigate that.

Please be patient, this will come through, fairly, soon.

Cheers,

Gus

Share this post


Link to post
Share on other sites
So any word on a full .deb package. I'm hoping this would make it easier for me to get utserver running on my centos seedbox.

CentOS is an RPM based distro, so a DEB probably won't be of great use.

I created some packages for OpenSuSE in RPM format. They may work on CentOS, and if not, likely all that would be needed is a new init script.

Find them here: http://goo.gl/2qfhd (Updated URL)

Thanks,

Jason

Share this post


Link to post
Share on other sites
So any word on a full .deb package. I'm hoping this would make it easier for me to get utserver running on my centos seedbox.

CentOS is an RPM based distro' date=' so a DEB probably won't be of great use.

I created some packages for OpenSuSE in RPM format. They may work on CentOS, and if not, likely all that would be needed is a new init script.

Find them here: [url']http://goo.gl/c4mzw

Thanks,

Jason

Huh didn't relize CentOS was RPM based. Unfortunatly I just installed Ubuntu on my server instead of CentOS. So now I would need a .deb package unless I switch back to CentOS or over to fedora which I don't think I'm going to do at the moment. But maybe I'll have better luck getting utserver running on Ubuntu then I did on CentOS.

Edit: Go Figure I switched back over to CentOS to test out a theory and figured I'd give your .rpm package a try just to notice you also have .deb packages on there as well. Well I might be going back to Ubuntu after I test your .rpm package under CentOS I'll let you know how it goes.

Share this post


Link to post
Share on other sites
So any word on a full .deb package. I'm hoping this would make it easier for me to get utserver running on my centos seedbox.

CentOS is an RPM based distro' date=' so a DEB probably won't be of great use.

I created some packages for OpenSuSE in RPM format. They may work on CentOS, and if not, likely all that would be needed is a new init script.

Find them here: [url']http://goo.gl/c4mzw

Thanks,

Jason

Ok so I tried installing the .deb package on my ubuntu server but I can only get it to run with sudo. Even when I do start the init script with sudo I can't seem to add torrents. I tried changing the .pid location in order to get past the non sudo error but then I get the following "error start-stop-daemon: Unable to set gid to 100 (Operation not permitted)"

So I was wondering if anybody has any thought or suggestions.

Share this post


Link to post
Share on other sites
Ok so I tried installing the .deb package on my ubuntu server but I can only get it to run with sudo. Even when I do start the init script with sudo I can't seem to add torrents. I tried changing the .pid location in order to get past the non sudo error but then I get the following "error start-stop-daemon: Unable to set gid to 100 (Operation not permitted)"

So I was wondering if anybody has any thought or suggestions.

Those packages are supposed to create a user utorrent and a group users with GID of 100 if they don't exist. You could check that they were created and exist! You could you use the following commands to see.

cat /etc/passwd | grep utorrent

cat /etc/group | grep users

The packages are working fine on an Ubuntu Server I manage, however I have never tried using sudo since I have root access. It may be some restrictions on what you can run as sudo. I guess you are using the desktop version of Ubuntu? I haven't used it, so I haven't had a chance to look at the default settings in the sudoers file.

You could try changing to use a different group with a higher GID in the init script on line 31. However you should change permissions on all the other installed files to belong to that group as well! See my earlier post regarding this here: http://forum.utorrent.com/viewtopic.php?pid=539320#p539320 Read the posts following that one as well, some other users found some solutions that seemed to work for them.

Perhaps some other Ubuntu users will have some input as well. Hope this might help lead to the solution!

:cool:

Update: Met with some issues after a reboot (kernel update), so I made a couple changes to the init script and it seems to work.

#DAEMON_ARGS="-daemon -configfile ${UT_CONFIG} -settingspath ${UT_SETTINGS} -logfile ${UT_LOG}"

DAEMON_ARGS="-configfile ${UT_CONFIG} -settingspath ${UT_SETTINGS} -logfile ${UT_LOG}"

...

#PIDFILE=/var/run/$NAME/$NAME.pid

PIDFILE=/var/run/$NAME.pid

Basically, remove the "-daemon" flag & move the PID to sit directly under /var/run. Seems to work correctly now, and also the /etc/init.d/utserver status returns a correct value! I'll have to change the init script in the packages, but won't get to that until later...

Update #2: utorrent-server_3.0-24118_i386.deb has been updated.

:|

Share this post


Link to post
Share on other sites
Ok so I tried installing the .deb package on my ubuntu server but I can only get it to run with sudo. Even when I do start the init script with sudo I can't seem to add torrents. I tried changing the .pid location in order to get past the non sudo error but then I get the following "error start-stop-daemon: Unable to set gid to 100 (Operation not permitted)"

So I was wondering if anybody has any thought or suggestions.

Those packages are supposed to create a user utorrent and a group users with GID of 100 if they don't exist. You could check that they were created and exist! You could you use the following commands to see.

cat /etc/passwd | grep utorrent

cat /etc/group | grep users

The packages are working fine on an Ubuntu Server I manage' date=' however I have never tried using sudo since I have root access. It may be some restrictions on what you can run as sudo. I guess you are using the desktop version of Ubuntu? I haven't used it, so I haven't had a chance to look at the default settings in the sudoers file.

You could try changing to use a different group with a higher GID in the init script on line 31. However you should change permissions on all the other installed files to belong to that group as well! See my earlier post regarding this here: [url']http://forum.utorrent.com/viewtopic.php?pid=539320#p539320 Read the posts following that one as well, some other users found some solutions that seemed to work for them.

Perhaps some other Ubuntu users will have some input as well. Hope this might help lead to the solution!

:cool:

Update: Met with some issues after a reboot (kernel update), so I made a couple changes to the init script and it seems to work.

#DAEMON_ARGS="-daemon -configfile ${UT_CONFIG} -settingspath ${UT_SETTINGS} -logfile ${UT_LOG}"

DAEMON_ARGS="-configfile ${UT_CONFIG} -settingspath ${UT_SETTINGS} -logfile ${UT_LOG}"

...

#PIDFILE=/var/run/$NAME/$NAME.pid

PIDFILE=/var/run/$NAME.pid

Basically, remove the "-daemon" flag & move the PID to sit directly under /var/run. Seems to work correctly now, and also the /etc/init.d/utserver status returns a correct value! I'll have to change the init script in the packages, but won't get to that until later...

Update #2: utorrent-server_3.0-24118_i386.deb has been updated.

:|

Thanks for the response. I'm not sure if I'm running Ubuntu Desktop or Server as it's whatever version my VPS provider offers but I'd assume it's server. I had already made the suggested .pid correction which did work although I have since made another change making it sit in a settings folder for the user as I intend to have 4 seperate instances of utserver running on this server if I can get everything worked out. That way each user has his own seperate torrent list.

Thank you for your advice I think that should help me track down this issue and get me that much closer to having this working the way I want. And I have gotten it to succesfully run to test it out and I have to say this is the best torrent program I have ever used on a linux box.

Share this post


Link to post
Share on other sites

Very nice idea to have a .deb package, just some suggestion:

Separate in 3 packages: utserver-core / utserver-webui / utserver (meta package of the two first)

With this architecture you can update the webui without updating the core.

The idea should be to use a PPA to have utorrent updated easily!!!

Share this post


Link to post
Share on other sites
Very nice idea to have a .deb package, just some suggestion:

Separate in 3 packages: utserver-core / utserver-webui / utserver (meta package of the two first)

With this architecture you can update the webui without updating the core.

The idea should be to use a PPA to have utorrent updated easily!!!

I personally know very little about building .deb packages. I simply use "alien" to convert my .rpm package, extract it and at a few tweaks for Debian/Ubuntu. If someone wants to build the packages this way, be my guest! :)

Anyway, as for the WebUI, just take your desired version, rename it to webui.zip and drop in the ${UT_SETTINGS} directory...ie: /var/opt/utorrent/server/settings/

:cool:

Share this post


Link to post
Share on other sites
Very nice idea to have a .deb package' date=' just some suggestion:

Separate in 3 packages: utserver-core / utserver-webui / utserver (meta package of the two first)

With this architecture you can update the webui without updating the core.

The idea should be to use a PPA to have utorrent updated easily!!![/quote']

I personally know very little about building .deb packages. I simply use "alien" to convert my .rpm package, extract it and at a few tweaks for Debian/Ubuntu. If someone wants to build the packages this way, be my guest! :)

Anyway, as for the WebUI, just take your desired version, rename it to webui.zip and drop in the ${UT_SETTINGS} directory...ie: /var/opt/utorrent/server/settings/

:cool:

Newly built packages can be found here: http://goo.gl/2qfhd Now built in 3 packages, choose the utorrent-server package and one of the webui packages. The "custom" webui is (or was) the latest one available from here: http://forum.utorrent.com/viewtopic.php?id=58156

Both rpms & debs are available. The debs are built using alien and the tweaking the results. Both are still using sysv style init scripts. The rpm init script is built using a template that is supposed to work on both SUSE & Red Hat based distro's, but it has only been tested on OpenSUSE 12.1 (i386). YMMV. (Just noticed that somehow I switched back to the old init script...I lost the unified one during an upgrade... :P )

Thanks :cool:

Share this post


Link to post
Share on other sites
Newly built packages can be found here: http://goo.gl/2qfhd Now built in 3 packages, choose the utorrent-server package and one of the webui packages. The "custom" webui is (or was) the latest one available from here: http://forum.utorrent.com/viewtopic.php?id=58156

Both rpms & debs are available. The debs are built using alien and the tweaking the results. Both are still using sysv style init scripts. The rpm init script is built using a template that is supposed to work on both SUSE & Red Hat based distro's, but it has only been tested on OpenSUSE 12.1 (i386). YMMV. (Just noticed that somehow I switched back to the old init script...I lost the unified one during an upgrade... :P )

Thanks :cool:

Packages URL: http://goo.gl/2qfhd

Updates:

- Created packages for x86_64

- Updated all packages with newer utserver.conf file that includes all possible configurations (I think!)

- Updated init script in RPM packages, it should now be compatible with at least SUSE & RedHat derivatives, perhaps other RPM based distros as well...YMMV

- Update webui packages to require base utorrent-server package to be installed first (RPM) & each webui package can replace the other if installed.

Notes:

- Latest x86_64 CentOS (& likely other RedHat derivatives) seems to require the 0.9.8ssl based package set.

- x86_64 Ubuntu versions (and derivatives) that require 0.9.8ssl (10.10 and older?) need symbolic links created in /lib64 linking libssl.0.9.8e to libssl.0.9.8 and libcrypto.0.9.8e to libcrypto.0.9.8.

- Debian stable currently requires the 0.9.8ssl based package set.

- Probably some things I missed!

:cool:

Share this post


Link to post
Share on other sites