Author Topic: [PACKAGED] qBittorrent 3.0.6 and libtorrent-rasterbar 0.16.4 - Is it OK?  (Read 3346 times)

Offline TerryN

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 740
Re: FirstEffort - Getting errors trying to package qbittorent update
« Reply #15 on: September 19, 2012, 09:43:18 AM »
When I run rpm -ivh command on the src.rpm of older qbittorrent version in the repository, it says user Neal does not exist or something. Does that mean you had packaged it earlier?
Sort of,  it means that Neal built the RPM (and SRPM) from the SRPM the packagers submitted.

Right now, I am unable to build even the older version here, although it should as it was built successfully, probably by you, earlier :)

That is probably because libboost has been updated since it was built.

Code: [Select]
[terry@localhost ~]$ rpm -qpR qbittorrent-2.9.11-1pclos2012.i586.rpm | grep boost
libboost_filesystem.so.1.42.0
libboost_system.so.1.42.0
libboost_thread.so.1.42.0

Shows it was built against 1.42 which would have been Boost Filesystem Version 2.

Terry
« Last Edit: September 19, 2012, 10:02:14 AM by TerryN »
Dell E521 - AMD 64 X2 5000+, 4GB RAM, ATI X1300 graphics
PCLinuxOS 2013 (KDE)
|Twitter|

Online sling-shot

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1759
  • Satyameva Jayate | Truth Alone Triumphs.
Re: FirstEffort - Getting errors trying to package qbittorent update
« Reply #16 on: September 19, 2012, 10:20:06 AM »
There is an alternative. If we upgrade the libtorrent-rasterbar to newer i.e., > 0.16.0 then there is no need for libboost-filesystem altogether!
I have to check out the package request section now.

STOP PRESS! :) I just successfully built the Blluedevil Just joking though. To achieve a sense of well being, I just downloaded the existing Bluedevil source rpm unpacked and rebuilt the rpm from it. Needed 2 libraries which were already in the repo. So I have closure.

Back to this thing. I could not find older version of libtorrent-rasterbar in the repo. (I thought I got a brief glimpse of it once - looking for the src.rpm mainly for the .spec file)
Where is it hiding in the repo? 2010 section subsection - ?Main/Kde/Kde4/Updates? or 2011 section? Why are there 2 sections - 2010 and 2011?

NOTE: The normally fastest heanet mirror seems to be acting up for me today. It is running at a crawling bytes/second. Has everyone shifted to it simultaneously?
Packaging well will cure headaches of many :) But learning to package will cause headaches in many :(

AMD AthlonX2 3600+/ASUS M2NPV-VM/ATi HD4670/Onboard sound/3.5GB DDR2-533 RAM/SEAGATE 160+320GB HDD/DELL S2240L FullHD/Creative SBS370 2.1/PCLinuxOS2013/KDE4
Samsung NP305U1-A06IN | Nokia E6

Offline TerryN

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 740
Re: FirstEffort - Getting errors trying to package qbittorent update
« Reply #17 on: September 19, 2012, 10:37:59 AM »
Back to this thing. I could not find older version of libtorrent-rasterbar in the repo. (I thought I got a brief glimpse of it once - looking for the src.rpm mainly for the .spec file)
Where is it hiding in the repo? 2010 section subsection - ?Main/Kde/Kde4/Updates? or 2011 section? Why are there 2 sections - 2010 and 2011?

If you look in the component column of Synaptic you will see it is in the main section.  Therefore the SRPM is at

Code: [Select]
http://distro.ibiblio.org/pclinuxos/pclinuxos/apt/pclinuxos/2010/SRPMS.main/libtorrent-rasterbar-0.14.10-2pclos2010.src.rpm
(or use a mirror of your choice)

Do bear in mind though that when updating a system library you need to check/test other packages which depend on that library to make sure they don't get broken by the update.

The 2010 tree is the 32 bit repo
The 2011 tree is the 64 bit repo

NOTE: The normally fastest heanet mirror seems to be acting up for me today. It is running at a crawling bytes/second. Has everyone shifted to it simultaneously?

If everybody is installing apt-sources-list then .. probably  ;D ;D

Terry
« Last Edit: September 19, 2012, 10:43:38 AM by TerryN »
Dell E521 - AMD 64 X2 5000+, 4GB RAM, ATI X1300 graphics
PCLinuxOS 2013 (KDE)
|Twitter|

Online sling-shot

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1759
  • Satyameva Jayate | Truth Alone Triumphs.
Re: FirstEffort - Getting errors trying to package qbittorent update
« Reply #18 on: September 19, 2012, 10:49:27 AM »
Ok. Got it from Ibiblio at the address specified by you. Funny thing that I had went into this upto the 2nd pclinuxos level saw another /apt/ and gave up. And I would have been laughing if I had encountered ANOTHER pclinuxos there ;)

I am not going to worry about other things right now. My aim at first will be to build ONE package to completion. I understand that there are a lot many things to be considered. I will climb one step at a time :)

I will play around with this and get back later.
Packaging well will cure headaches of many :) But learning to package will cause headaches in many :(

AMD AthlonX2 3600+/ASUS M2NPV-VM/ATi HD4670/Onboard sound/3.5GB DDR2-533 RAM/SEAGATE 160+320GB HDD/DELL S2240L FullHD/Creative SBS370 2.1/PCLinuxOS2013/KDE4
Samsung NP305U1-A06IN | Nokia E6

Online sling-shot

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1759
  • Satyameva Jayate | Truth Alone Triumphs.
Re: FirstEffort - Getting errors trying to package qbittorent update
« Reply #19 on: September 19, 2012, 11:03:20 AM »
What is the correct way to catch all output from the commandline while a build is running to a text file? I used
Code: [Select]
rpmbuild -ba required.spec > output.txt but it did not work.

The file did not have everything that had run through Konsole.
Packaging well will cure headaches of many :) But learning to package will cause headaches in many :(

AMD AthlonX2 3600+/ASUS M2NPV-VM/ATi HD4670/Onboard sound/3.5GB DDR2-533 RAM/SEAGATE 160+320GB HDD/DELL S2240L FullHD/Creative SBS370 2.1/PCLinuxOS2013/KDE4
Samsung NP305U1-A06IN | Nokia E6

Offline daniel

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3794
  • God knows, i'm not an Angel!
    • Tipps und Tricks
Re: FirstEffort - Getting errors trying to package qbittorent update
« Reply #20 on: September 19, 2012, 11:15:04 AM »
What is the correct way to catch all output from the commandline while a build is running to a text file? I used
Code: [Select]
rpmbuild -ba required.spec > output.txt but it did not work.

The file did not have everything that had run through Konsole.

use this command
Code: [Select]
rpmbuild -ba pclos-xscreensaver.spec > ~/Desktop/xscreensaver.spec.log 2>&1

Online sling-shot

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1759
  • Satyameva Jayate | Truth Alone Triumphs.
Re: FirstEffort - Getting errors trying to package qbittorent update
« Reply #21 on: September 19, 2012, 11:47:40 AM »
use this command
Code: [Select]
rpmbuild -ba pclos-xscreensaver.spec > ~/Desktop/xscreensaver.spec.log 2>&1

Leiche, thank you.

Continuing....
- As I found out that having libtorrent-rasterbar of 0.16.x range might help with my earlier problem, I downloaded the tar.bz and converted it into tar.xz.
- Then I got the old src.rpm for libtorrent-rasterbar from our existing repo and extracted it using "rpm -ivh"
- I opened the .spec file. Changed the version number to 0.16.3 which is the current version.
- I found that there was a patch mentioned. As this version did not seem to have a patch, I removed that.
- Ran "rpmbuild -ba"
- Oh! What a joy :) The output kept coming. There were a lot of warnings but they did not seem to be backbreaking type so I kept watching. Most of them seemed to be about deprecated this and deprecated that and seemed to concern style of coding rather than any mistake on my part, I thought.
- However after some time I found that the process aborted at the following stage with error :
Code: [Select]
make[2]: Leaving directory `/home/testinstall/src/rpm/BUILD/libtorrent-rasterbar-0.16.3'
make[1]: Leaving directory `/home/testinstall/src/rpm/BUILD/libtorrent-rasterbar-0.16.3'
+ '[' -n '' ']'
+ /usr/share/spec-helper/clean_files
+ '[' -n '' ']'
+ /usr/share/spec-helper/compress_files .bz2
+ '[' -n '' ']'
+ /usr/share/spec-helper/relink_symlinks
+ '[' -n '' ']'
+ /usr/share/spec-helper/clean_perl
+ '[' -n '' ']'
+ /usr/share/spec-helper/lib_symlinks
+ '[' -n '' ']'
+ /usr/share/spec-helper/gprintify
+ '[' -n '' ']'
+ /usr/share/spec-helper/fix_mo
+ '[' -n '' ']'
+ /usr/share/spec-helper/translate_menu
+ '[' -n '' ']'
+ /usr/share/spec-helper/fix_pamd
+ '[' -n '' ']'
+ /usr/share/spec-helper/remove_info_dir
+ '[' -n '' ']'
+ /usr/share/spec-helper/fix_eol
+ DONT_STRIP=
+ /usr/share/spec-helper/check_elf_files
Warning: unused libraries in /usr/lib/libtorrent-rasterbar.so.6.0.0: libdl.so.2
 libm.so.6

Warning: unused libraries in /usr/lib/python2.6/site-packages/libtorrent.so: librt.so.1
 libssl.so.1.0.0
 libcrypto.so.1.0.0
 libdl.so.2
 libm.so.6

Processing files: libtorrent-rasterbar5-0.16.3-2slingshot2012.i586
error: File not found by glob: /home/testinstall/src/rpm/BUILDROOT/libtorrent-rasterbar-0.16.3-2slingshot2012.i386/usr/lib/*.so.5*


RPM build errors:
    File not found by glob: /home/testinstall/src/rpm/BUILDROOT/libtorrent-rasterbar-0.16.3-2slingshot2012.i386/usr/lib/*.so.5*

Please note that I have not touched the pclinuxos package version/subversion number from the earlier .spec. I only changed what I thought was must to reduce any chance of errors on my side. You probably can understand that by looking at the above lines.

What did I do wrong here? Or what did I miss? Any idea why glob fails find some file? What is this glob?
Packaging well will cure headaches of many :) But learning to package will cause headaches in many :(

AMD AthlonX2 3600+/ASUS M2NPV-VM/ATi HD4670/Onboard sound/3.5GB DDR2-533 RAM/SEAGATE 160+320GB HDD/DELL S2240L FullHD/Creative SBS370 2.1/PCLinuxOS2013/KDE4
Samsung NP305U1-A06IN | Nokia E6

Offline daniel

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3794
  • God knows, i'm not an Angel!
    • Tipps und Tricks
Re: FirstEffort - Getting errors trying to package qbittorent update
« Reply #22 on: September 19, 2012, 11:57:51 AM »
it say, that it not found *so.5*, because it will now called as sample so.6.

Go into the directory and see what is in it   
/home/testinstall/src/rpm/BUILDROOT/libtorrent-rasterbar-0.16.3-2slingshot2012.i386/usr/lib/

Post your specfile, please

Offline TerryN

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 740
Re: FirstEffort - Getting errors trying to package qbittorent update
« Reply #23 on: September 19, 2012, 12:10:27 PM »
The devs have probably changed library ABI version to 6 which means the libraries built will end in .so.6 now.  That means you have to change the %define major in the SPEC file so that the right names are referenced in the %files section.

Quote
%files -n %{libname}
%defattr(-,root,root)
%{_libdir}/*.so.%{major}*


This also brings with it whole host of other decisions that have to be made (like do we just rebuild existing packages against the new ABI or do we put both in the repo).   You really do need to read and understand the principles of Linux shared libraries when doing this.  Documentation here http://tldp.org/HOWTO/Program-Library-HOWTO/index.html

Terry.

« Last Edit: September 19, 2012, 12:12:59 PM by TerryN »
Dell E521 - AMD 64 X2 5000+, 4GB RAM, ATI X1300 graphics
PCLinuxOS 2013 (KDE)
|Twitter|

Online sling-shot

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1759
  • Satyameva Jayate | Truth Alone Triumphs.
Re: FirstEffort - Getting errors trying to package qbittorent update
« Reply #24 on: September 19, 2012, 12:20:01 PM »
Kindly be patient for my approach to learning. I find it very difficult to concentrate on theory. So I read manuals when things go wrong or when everything went right :)
TerryN - I will read that up in time. Right now even if I read it, it will not stay in my memory. I have bookmarked it.

A light bulb just switched on when I hit this link via Google http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch08s03.html
In the older .spec file I had not altered the major version from 5 to 6. Once it was changed the "rpm -bl" command stopped throwing that glob could not find error. Now I am rerunning the build.

The current .spec file is :
Code: [Select]
%define shortname torrent-rasterbar
%define major 6
%define libname %mklibname %{shortname} %{major}
%define develname %mklibname %{shortname} -d

Summary: The Rasterbar BitTorrent library
Name: libtorrent-rasterbar
Version: 0.16.3
Release: %mkrel 2
License: BSD
Group: System/Libraries
URL: http://www.rasterbar.com/products/libtorrent/
Source0: http://downloads.sourceforge.net/libtorrent/libtorrent-%{version}/%{name}-%{version}.tar.xz
BuildRequires: boost-devel
BuildRequires: openssl-devel
BuildRequires: zlib-devel
BuildRequires: python-devel
Buildroot: %{_tmppath}/%{name}-%{version}-buildroot
Requires:    glibc >= 2.10.1
Requires:    libstdc++6 >= 4.4.1
Obsoletes: %name < %version
Requires: python >= 2.6.6

%description
libtorrent-rasterbar is a C++ library that aims to be a good
alternative to all the other bittorrent implementations around. It is
a library and not a full featured client. It is not the same as the
other libtorrent, as used by the 'rtorrent' application, that is in
the 'libtorrent' package. The two are completely different and
incompatible.

%package -n %{libname}
Group: System/Libraries
Summary: The Rasterbar BitTorrent library
Obsoletes: %{mklibname %{shortname} 1}

%description -n %{libname}
libtorrent-rasterbar is a C++ library that aims to be a good
alternative to all the other bittorrent implementations around. It is
a library and not a full featured client. It is not the same as the
other libtorrent, as used by the 'rtorrent' application, that is in
the 'libtorrent' package. The two are completely different and
incompatible.

%package -n python-%{name}
Group: System/Libraries
Summary: The Rasterbar BitTorrent library's Python bindings
Requires: %{libname} = %{version}-%{release}

%description -n python-%{name}
libtorrent-rasterbar is a C++ library that aims to be a good
alternative to all the other bittorrent implementations around. It is
a library and not a full featured client. It is not the same as the
other libtorrent, as used by the 'rtorrent' application, that is in
the 'libtorrent' package. The two are completely different and
incompatible. This package contains Python bindings.

%package -n %{develname}
Group: Development/C
Summary: The Rasterbar BitTorrent library's development headers
Provides: %{name}-devel = %{version}-%{release}
Requires: %{libname} = %{version}-%{release}

%description -n %{develname}
libtorrent-rasterbar is a C++ library that aims to be a good
alternative to all the other bittorrent implementations around. It is
a library and not a full featured client. It is not the same as the
other libtorrent, as used by the 'rtorrent' application, that is in
the 'libtorrent' package. The two are completely different and
incompatible. This package contains development libraries and headers.

%prep
%setup -q

%build
autoreconf -fi
%configure2_5x \
--enable-python-binding \
--with-zlib=system \
--with-asio=system \
--with-libgeoip=shipped \
--with-encryption=on \
--with-dht=on \
--with-ssl \
--with-boost-libdir=%{_libdir} \
--with-boost-system=boost_system-mt \
--with-boost-filesystem=boost_filesystem-mt \
--with-boost-thread=boost_thread-mt \
--with-boost-regex=boost_regex-mt \
--with-boost-python=boost_python-mt
%make

%install
rm -rf %{buildroot}
%makeinstall_std

%clean
rm -rf %{buildroot}

%post -n %{name}
/sbin/ldconfig

%postun -n %{name}
/sbin/ldconfig

%files -n %{libname}
%defattr(-,root,root)
%{_libdir}/*.so.%{major}*

%files -n %{develname}
%defattr(-,root,root)
%{_libdir}/*.so
%{_libdir}/*.*a
%{_includedir}/libtorrent
%{_libdir}/pkgconfig/%{name}.pc

%files -n python-%{name}
%defattr(-,root,root)
%{py_platsitedir}/*.so
%{py_platsitedir}/*.egg-info


%changelog
* Sat Sep 04 2010 Texstar <texstar at gmail.com> 0.14.10-2pclos2010
- rebuild python 2.6.6

* Thu Jun 24 2010 Texstar <texstar at gmail.com> 0.14.10-1pclos2010
- 0.14.10

* Sat Mar 06 2010 Texstar <texstar at gmail.com> 0.14.9-1pclos2010
- 0.14.9

* Fri Dec 04 2009 pcserver <pcserver at hush.com> 0.14.7-1pclos2010
- gcc update
- 0.14.7
- sync with mdv

Please look into it and correct as necessary.
Packaging well will cure headaches of many :) But learning to package will cause headaches in many :(

AMD AthlonX2 3600+/ASUS M2NPV-VM/ATi HD4670/Onboard sound/3.5GB DDR2-533 RAM/SEAGATE 160+320GB HDD/DELL S2240L FullHD/Creative SBS370 2.1/PCLinuxOS2013/KDE4
Samsung NP305U1-A06IN | Nokia E6

Offline TerryN

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 740
Re: FirstEffort - Getting errors trying to package qbittorent update
« Reply #25 on: September 19, 2012, 12:22:37 PM »
You haven't updated the changelog  ;D ;D

Terry
Dell E521 - AMD 64 X2 5000+, 4GB RAM, ATI X1300 graphics
PCLinuxOS 2013 (KDE)
|Twitter|

Online sling-shot

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1759
  • Satyameva Jayate | Truth Alone Triumphs.
Re: FirstEffort - Getting errors trying to package qbittorent update
« Reply #26 on: September 19, 2012, 12:45:22 PM »
SUCCESS! :) Thank you all. You are entitled to a standing ovation for guiding me through this endeavour etc. etc. ;) ;)

Build has seemingly concluded with only warnings and no errors.
I have 3 .rpms in /RPMS/i586 and 1 .src.rpm in /SRPMS for this build.

/home/testinstall/src/rpm/RPMS/i586
Code: [Select]
bluedevil-1.1-3slingshot2012.i586.rpm
bluedevil-devel-1.1-3slingshot2012.i586.rpm
libtorrent-rasterbar6-0.16.3-2slingshot2012.i586.rpm
libtorrent-rasterbar-devel-0.16.3-2slingshot2012.i586.rpm
python-libtorrent-rasterbar-0.16.3-2slingshot2012.i586.rpm

and

/home/testinstall/src/rpm/SRPMS
Code: [Select]
bluedevil-1.1-3slingshot2012.src.rpm
libtorrent-rasterbar-0.16.3-2slingshot2012.src.rpm

About that changelog, as I have not done anything I do not know what to add.

Onwards,
- I should install these individual RPMS and test.
- If things go smooth, I should try building that qbittorrent again.
Packaging well will cure headaches of many :) But learning to package will cause headaches in many :(

AMD AthlonX2 3600+/ASUS M2NPV-VM/ATi HD4670/Onboard sound/3.5GB DDR2-533 RAM/SEAGATE 160+320GB HDD/DELL S2240L FullHD/Creative SBS370 2.1/PCLinuxOS2013/KDE4
Samsung NP305U1-A06IN | Nokia E6

Offline TerryN

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 740
Re: FirstEffort - Getting errors trying to package qbittorent update
« Reply #27 on: September 19, 2012, 12:51:20 PM »
Build has seemingly concluded with only warnings and no errors.
I have 3 .rpms in /RPMS/i586 and 1 .src.rpm in /SRPMS for this build.

Now, provided you let mkrepo update your sources.list file when you installed pkgutils, you should be able to run gbd (also part of pkgutils) and it will generate package lists in your local repo containing the new rpms.  That means they should show up in Synaptic or with apt-get.  It is important to test this as will show up any problems your packages may cause to other packages (wanting to remove them etc.).

About that changelog, as I have not done anything I do not know what to add.

You mean you have already forgotten you read this http://www.pclinuxos.com/forum/index.php/topic,82165.0.html  ;D ;D

Terry.
« Last Edit: September 19, 2012, 12:59:22 PM by TerryN »
Dell E521 - AMD 64 X2 5000+, 4GB RAM, ATI X1300 graphics
PCLinuxOS 2013 (KDE)
|Twitter|

Online sling-shot

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1759
  • Satyameva Jayate | Truth Alone Triumphs.
Re: FirstEffort - Getting errors trying to package qbittorent update
« Reply #28 on: September 19, 2012, 01:01:23 PM »
All 3 were successfully installed on my testinstall using the right-click menu to install via apt-get.
They have removed their previous iterations.
Synaptic recognises them.


Ha ha ha ha no I have not forgotten THAT. Let me finish this thing and when it is done I will update that. No point entering the changelog unless it actually works.

Trying to run rpmbuild -bl for the qbittorrent 3.0.3 give this error :
Code: [Select]
Processing files: qbittorrent-3.0.3-1slingshot2012.i586
error: Could not open %files file /home/testinstall/src/rpm/BUILD/qbittorrent-3.0.3/qbittorrent.lang: No such file or directory


RPM build errors:
    Could not open %files file /home/testinstall/src/rpm/BUILD/qbittorrent-3.0.3/qbittorrent.lang: No such file or directory


NOTE : The gbd command ran without errors and took control of all of our bases ;) (All your base are belong to us)

It is late in the night for me now. I am going to sleep on it and continue tomorrow.

Once again, thank you all :)
« Last Edit: September 21, 2012, 12:38:03 PM by sling-shot »
Packaging well will cure headaches of many :) But learning to package will cause headaches in many :(

AMD AthlonX2 3600+/ASUS M2NPV-VM/ATi HD4670/Onboard sound/3.5GB DDR2-533 RAM/SEAGATE 160+320GB HDD/DELL S2240L FullHD/Creative SBS370 2.1/PCLinuxOS2013/KDE4
Samsung NP305U1-A06IN | Nokia E6

Online sling-shot

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 1759
  • Satyameva Jayate | Truth Alone Triumphs.
Re: FirstEffort - Getting errors trying to package qbittorent update
« Reply #29 on: September 20, 2012, 04:51:36 AM »
I have installed the newly built libraries. Now I went ahead and downloaded qbittorrent older version. 2.9.x to check if it will work with newer library packages.

No go. It crashes after a nano-second of start or does not appear at all. Konsole give the following output:
Code: [Select]
Couldn't set environment variable...
qbittorrent: symbol lookup error: qbittorrent: undefined symbol: _ZN10libtorrent7sessionC1ERKNS_11fingerprintEii
Packaging well will cure headaches of many :) But learning to package will cause headaches in many :(

AMD AthlonX2 3600+/ASUS M2NPV-VM/ATi HD4670/Onboard sound/3.5GB DDR2-533 RAM/SEAGATE 160+320GB HDD/DELL S2240L FullHD/Creative SBS370 2.1/PCLinuxOS2013/KDE4
Samsung NP305U1-A06IN | Nokia E6