Bug 4577 - tribler, peer-to-peer client with various features for watching videos online
Summary: tribler, peer-to-peer client with various features for watching videos online
Status: RESOLVED OLD
Alias: None
Product: Mageia
Classification: Unclassified
Component: New RPM package request (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal enhancement
Target Milestone: ---
Assignee: Mageia Bug Squad
QA Contact:
URL: http://svn.tribler.org/abc/branches/r...
Whiteboard:
Keywords: NEEDINFO
Depends on: 7794 8597
Blocks:
  Show dependency treegraph
 
Reported: 2012-02-18 21:28 CET by Kristoffer Grundström
Modified: 2016-07-22 22:44 CEST (History)
3 users (show)

See Also:
Source RPM: tribler
CVE:
Status comment:


Attachments
Here's a working spec-file from PCLinuxOS that I've successfully built with (2.50 KB, text/plain)
2013-01-05 05:22 CET, Kristoffer Grundström
Details
New spec.-file (2.33 KB, text/x-rpm-spec)
2013-06-10 21:44 CEST, Kristoffer Grundström
Details
Edited spec-file for Tribler (2.32 KB, text/plain)
2013-06-10 21:56 CEST, Kristoffer Grundström
Details
Error-output (722 bytes, text/plain)
2013-06-10 22:13 CEST, Kristoffer Grundström
Details
Here's how I tried to build Tribler from git & the resulting error (11.02 KB, application/octet-stream)
2013-07-03 05:59 CEST, Kristoffer Grundström
Details
This spec-file makes an rpm, but with error when gui appears (2.58 KB, text/x-rpm-spec)
2014-05-23 04:48 CEST, Kristoffer Grundström
Details
Updated the current spec so that an RPM can be created (2.65 KB, application/octet-stream)
2014-05-24 04:53 CEST, Kristoffer Grundström
Details
Here's the latest error related to my latest problem (806 bytes, text/plain)
2014-07-23 00:47 CEST, Kristoffer Grundström
Details

Description Kristoffer Grundström 2012-02-18 21:28:46 CET
Description of problem: Tribler is an open source peer-to-peer client with various features for watching videos online. The user interface of Tribler is very basic and focused on ease of use, instead of including features.[2] Tribler is based on the BitTorrent protocol and uses an overlay network for content searching.[3] Due to this overlay network Tribler does not require an external website or indexing service to discover content.[4] Tribler features include: video-only searching, experimental video streaming, and an integrated video player. Tribler is available for Linux, Windows and OS X.[5]

The name Tribler stems from the word Tribe, referring to the usage of social networks in this P2P client. The first version of Tribler was a small enhancement on the ABC (Yet Another BitTorrent Client)

In 2009 the development team behind Tribler stated that their efforts for the coming years are focused on integration of Tribler in television hardware.[citation needed]

Version-Release number of selected component (if applicable): 5.1.2
Kristoffer Grundström 2012-02-18 21:28:57 CET

Priority: Normal => Low
CC: (none) => kristoffer.grundstrom1983

Comment 1 Kristoffer Grundström 2012-02-18 21:32:49 CET
I managed to rebuild the Ubuntu-package, but had some significant errors so I won't add the created RPM to this report. No spec-file either.
Comment 2 Kristoffer Grundström 2012-02-18 21:45:31 CET
It seems like python is involved in the build-process somehow. Tried building with py makedist.bat, but it didn't work.
Comment 3 Kristoffer Grundström 2012-02-18 21:55:13 CET
It seems to demand python-vlc or should I say python-module-vlc which is NOT in Mga1-repos,
Manuel Hiebel 2012-02-19 08:37:27 CET

Summary: [WISH] Build Tribler for Mageia & release it with LGPL-license => tribler, peer-to-peer client with various features for watching videos online

Comment 4 Kristoffer Grundström 2012-03-04 03:40:41 CET
The newest version now is 5.5.20, but it demands python-apsw & xulrunner-sdk. I'll try to build specs for theese packages.
Comment 5 Kristoffer Grundström 2012-03-19 16:58:16 CET
New version out: 5.5.23.
Comment 6 Kristoffer Grundström 2012-04-18 02:06:36 CEST
5.5.24 released.
Comment 7 Kristoffer Grundström 2012-07-08 16:20:45 CEST
There's a new version out, 5.9.20. Having some trouble building it since swift is missing in the Mageia-repo.
Comment 8 Kristoffer Grundström 2013-01-04 12:45:52 CET
A newer version of this lovely thing has been released, but Mageia lacks of some dependancies it demands according to the readme.txt in the /Tribler directory.
Remco Rijnders 2013-01-04 13:17:58 CET

Depends on: (none) => 7794, 8597

Comment 9 Kristoffer Grundström 2013-01-05 05:22:19 CET
Created attachment 3316 [details]
Here's a working spec-file from PCLinuxOS that I've successfully built with
Comment 10 Kristoffer Grundström 2013-06-09 22:23:18 CEST
Here's the Cauldron-created src.rpm from PCLinuxOS:

https://dl.dropboxusercontent.com/u/56935780/RPM's/Tribler/tribler-6.0.4-1.mga3.src.rpm

Here's the Cauldron-created rpm-package built from the above mentioned src.rpm & I've tested it locally in a VM & it works like a charm. ;)
Kristoffer Grundström 2013-06-09 22:23:42 CEST

Priority: Low => Normal
Hardware: All => x86_64

Sander Lepik 2013-06-10 01:58:31 CEST

Attachment 3316 mime type: text/x-rpm-spec => text/plain
CC: (none) => sander.lepik

Comment 11 Sander Lepik 2013-06-10 02:16:05 CEST
Some comments:

* License: MIT - this page kinda disagrees: http://www.tribler.org/trac/wiki/LicensingTerms

* BuildRoot: is not needed..

* rm -rf $RPM_BUILD_ROOT in %install section is not needed

* The whole %clean section is not needed anymore..

* I'm not 100% sure but AFAIK %update_menus and %clean_menus are ran automatically so those sections aren't needed either..

* %defattr(-,root,root) - these are defaults applied by default so also not needed..

* %doc *.txt - you should be able to merge %doc's. I see no point to keep them on separate lines.

* Categories=Network;P2P;X-MandrivaLinux-Internet-P2P; - shouldn't there be something Mageia related?
Comment 12 Nicolas Lécureuil 2013-06-10 08:37:32 CEST
* the name of the spec file is wrong it needs to be the name of the software not with the name of the distribution you find the spec file for.


ON the spec file:


 remove the first comment we don't care about this, if we need to restrict build on some arch it will be added as BuildArch:

* cd ../ after %make is useless


* use %buildroot instead of $RPM_BUILD_ROOT

*  %update_menus and %clean_menus are done by filetriggers so useless here.

CC: (none) => nicolas.lecureuil

Comment 13 Kristoffer Grundström 2013-06-10 21:44:24 CEST
Created attachment 4123 [details]
New spec.-file

Correct spec-file this time to build with?

Attachment 3316 is obsolete: 0 => 1

Comment 14 Nicolas Lécureuil 2013-06-10 21:52:24 CEST
are you sure that you want to cd in "cd /Tribler/SwiftEngine" ?


in the desktop file you need to removed the Encoding line
Comment 15 Kristoffer Grundström 2013-06-10 21:56:30 CEST
Created attachment 4124 [details]
Edited spec-file for Tribler

Is this OK now?

Attachment 4123 is obsolete: 0 => 1

Comment 16 Kristoffer Grundström 2013-06-10 21:57:35 CEST
(In reply to Nicolas Lécureuil from comment #14)
> are you sure that you want to cd in "cd /Tribler/SwiftEngine" ?
> 
> 
> in the desktop file you need to removed the Encoding line

I suspect the build might break because Tribler needs Swift to work as intended.
Comment 17 Nicolas Lécureuil 2013-06-10 21:58:10 CEST
are you sure of "cd /Tribler/SwiftEngine" ?
Comment 18 Kristoffer Grundström 2013-06-10 22:11:07 CEST
(In reply to Nicolas Lécureuil from comment #17)
> are you sure of "cd /Tribler/SwiftEngine" ?

Not entirely. Even thou the dir exists in the tar-ball the build fails.
Comment 19 Kristoffer Grundström 2013-06-10 22:13:43 CEST
Created attachment 4125 [details]
Error-output

Here's the result of rpmbuild -ba tribler.spec
Nicolas Lécureuil 2013-06-10 22:15:01 CEST

Attachment 4125 mime type: application/octet-stream => text/plain

Nicolas Lécureuil 2013-06-10 22:15:57 CEST

Attachment 4124 mime type: text/x-rpm-spec => text/plain

Comment 20 Kristoffer Grundström 2013-06-10 22:20:41 CEST
(In reply to Kristoffer Grundström from comment #18)
> (In reply to Nicolas Lécureuil from comment #17)
> > are you sure of "cd /Tribler/SwiftEngine" ?
> 
> Not entirely. Even thou the dir exists in the tar-ball the build fails.

As I suspected, the build stops here:

make: *** No targets were specified and no makefile could be found.  Stoping.
error: Bad endstatus from /var/tmp/rpm-tmp.vE00iK (%prep)


RPM-builderror:
    Bad endstatus from /var/tmp/rpm-tmp.vE00iK (%prep)
Comment 21 Nicolas Lécureuil 2013-06-10 22:24:39 CEST
try to think a little of what you are doing and you will find the pb. It is really easy to understand here. 

and btw you give 2 != outputs so we can't help you. On the output you added thes is no such "*** No targets were specified and no makefile could be found.  Stoping."
Comment 22 Kristoffer Grundström 2013-06-10 22:25:55 CEST
(In reply to Nicolas Lécureuil from comment #21)
> try to think a little of what you are doing and you will find the pb. It is
> really easy to understand here. 
> 
> and btw you give 2 != outputs so we can't help you. On the output you added
> thes is no such "*** No targets were specified and no makefile could be
> found.  Stoping."

Yes, since I haven't added THAT new error...............YET.
Nicolas Lécureuil 2013-06-10 22:38:21 CEST

CC: nicolas.lecureuil => (none)

Comment 23 Kristoffer Grundström 2013-06-11 01:03:39 CEST
I have learned that Tribler uses scons to build & not make as first assumed according to the pclos spec-file.
Comment 24 Kristoffer Grundström 2013-06-11 20:42:35 CEST
Here's the current %prep-section that I've made after reading this link ( http://www.rpm.org/max-rpm/s1-rpm-build-creating-spec-file.html ):

%prep
%setup -q
%patch0 -p0 vlc-1.0.5-swarmplugin-switch-kcc-src-aug2010-renum110-r16968.patch

Anything else I need?
Comment 25 Kristoffer Grundström 2013-07-03 05:59:46 CEST
Created attachment 4183 [details]
Here's how I tried to build Tribler from git & the resulting error

I made sure that libtorrent-devel is installed.

Attachment 4125 is obsolete: 0 => 1

Kristoffer Grundström 2013-09-07 18:47:01 CEST

Hardware: x86_64 => All

Comment 26 Kristoffer Grundström 2014-05-23 04:48:13 CEST
Created attachment 5173 [details]
This spec-file makes an rpm, but with error when gui appears

Attachment 4124 is obsolete: 0 => 1
Attachment 4183 is obsolete: 0 => 1

Comment 27 Kristoffer Grundström 2014-05-24 04:53:17 CEST
Created attachment 5176 [details]
Updated the current spec so that an RPM can be created

Attachment 5173 is obsolete: 0 => 1

Comment 28 Kristoffer Grundström 2014-07-23 00:43:49 CEST
https://drive.google.com/file/d/0BylXOvzRGqyUNnpWNUZaQklYZ2M/edit?usp=sharing is a folder with prepared stuff to run tribler from source.

The only thing missing to make it run seems to be a missing module called constructor.

I used urpmf constructor to look for it, but no hits as a result.

Can anyone solve this?

I hope the link works.

Just run ./tribler.sh from /tribler-directory

BuildRequires so far is: python-netifaces libwxPython2.8-devel wxPython-tools (not sure) wxPython wxgtk2.8 wxgtk libtorrent-devel python-libtorrent-rasterbar python-m2crypto rpmbootstrap debootstrap (perhaps debootstrap is not needed, but install just in case) and finally python-apsw.
Comment 29 Kristoffer Grundström 2014-07-23 00:47:12 CEST
Created attachment 5306 [details]
Here's the latest error related to my latest problem
Comment 30 Philippe Makowski 2014-07-23 09:41:05 CEST
the error says :
from Tribler.dispersy.decorator import Constructor, constructor
ImportError: cannot import name Constructor

so Constructor should be in Tribler.dispersy.decorator

not an external dependency

CC: (none) => makowski.mageia

Comment 31 Philippe Makowski 2014-07-23 09:52:23 CEST
maybe you can find help by looking at the Debian package
https://packages.debian.org/sid/tribler
http://sources.debian.net/src/tribler/6.2.0%2Bgit20130731.149555fa-2/debian
Comment 32 Kristoffer Grundström 2014-07-24 01:24:11 CEST
(In reply to Philippe Makowski from comment #30)
> the error says :
> from Tribler.dispersy.decorator import Constructor, constructor
> ImportError: cannot import name Constructor
> 
> so Constructor should be in Tribler.dispersy.decorator
> 
> not an external dependency

import os
from Tribler.Core.CacheDB.SqliteCacheDBHandler import ChannelCastDBHandler
from Tribler.Main.Utility.GuiDBHandler import startWorker, GUIDBProducer
from Tribler.dispersy.decorator import attach_profiler
from Tribler.dispersy.community import HardKilledCommunity
from Tribler.community.bartercast3.community import MASTER_MEMBER_PUBLIC_KEY_DIGEST as BARTER_MASTER_MEMBER_PUBLIC_KEY_DIGEST
from Tribler.Core.CacheDB.Notifier import Notifier
import traceback
from random import randint
from threading import current_thread, currentThread
try:
prctlimported = True
import prctl
except ImportError as e:
prctlimported = False

Anything wrong with theese related lines? It's taken from the tribler.sh file in the main directory of my archive.
Comment 33 Philippe Makowski 2014-07-24 10:49:54 CEST
(In reply to Kristoffer Grundström from comment #32)
> Anything wrong with theese related lines? 
I don't think so
but be sure that you launch tribbler with correct PYTHON_PATH, as did in http://sources.debian.net/src/tribler/6.2.0%2Bgit20130731.149555fa-2/debian/bin/tribler
Comment 34 Kristoffer Grundström 2014-07-25 01:35:56 CEST
(In reply to Philippe Makowski from comment #33)
> (In reply to Kristoffer Grundström from comment #32)
> > Anything wrong with theese related lines? 
> I don't think so
> but be sure that you launch tribbler with correct PYTHON_PATH, as did in
> http://sources.debian.net/src/tribler/6.2.0%2Bgit20130731.149555fa-2/debian/
> bin/tribler

Didn't work. Same result.
Comment 35 Philippe Makowski 2014-07-25 10:46:20 CEST
(In reply to Kristoffer Grundström from comment #34)
> Didn't work. Same result.

Same results ?
same results with what ?
what did you did exactly ?
did you really setup PYTHON_PATH to the location where you have your tribbler install ?
If you have tribbler in ~/tribler-directory
then you really need to have in your launch script something like:

#!/bin/sh
# Startup script 
_TRIBLERPATH="~/tribler-directory"
export PYTHONPATH="$PYTHONPATH":$_TRIBLERPATH
echo "Starting Tribler..."
cd $_TRIBLERPATH
exec python -O Tribler/Main/tribler.py "$@" > /tmp/$USER-tribler.log 2>&1

of course, set up path as need.

Sorry, can't help more, I don't have time for that.
but really, you should carrefully look at the Debian package and try to build yours from there, obviously you did something wrong, and all your indications about what you did or not or what you are actually testing are not clear for me.
Philippe Makowski 2014-10-14 21:05:54 CEST

CC: makowski.mageia => (none)

Comment 36 Marja Van Waes 2016-07-03 06:09:16 CEST
Hi,

(Asking in several package requests at the same time:)

BugSquad has too few active members to take proper care of package requests, so we need to ask you to check some things yourself.

Please check in http://madb.mageia.org/ whether this package was already imported in cauldron, or whether there's another package with the same functionality that you can use.

If so, then please close this bug report, or, if the package isn't available in Mageia 5, change this report into a backport request.

If it is not available in cauldron, and there is no alternative that you can use, then please confirm that you still need this software.

Thanks,
Marja

Keywords: (none) => NEEDINFO
CC: (none) => marja11

Comment 37 Marja Van Waes 2016-07-22 22:44:11 CEST
No reply, so closing as OLD

Feel free to reopen if this package is still needed

Status: NEW => RESOLVED
Resolution: (none) => OLD


Note You need to log in before you can comment on or make changes to this bug.