LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 02-13-2018, 11:12 AM   #1
burdi01
Member
 
Registered: Dec 2010
Location: The Netherlands
Distribution: Slackware Current64, Xubuntu
Posts: 291

Rep: Reputation: 39
Qt solibs package


Current64 XFCE/Mate: For non-KDE users not doing Qt development the full Qt package is quite an overkill. Might it be an idea to provide an solibs package like we do with e.g. glibc-solibs?

Last edited by burdi01; 02-13-2018 at 11:37 AM.
 
Old 02-13-2018, 12:04 PM   #2
Alien Bob
Slackware Contributor
 
Registered: Sep 2005
Location: Eindhoven, The Netherlands
Distribution: Slackware
Posts: 7,495

Rep: Reputation: 5825Reputation: 5825Reputation: 5825Reputation: 5825Reputation: 5825Reputation: 5825Reputation: 5825Reputation: 5825Reputation: 5825Reputation: 5825Reputation: 5825
Quote:
Originally Posted by burdi01 View Post
Current64 XFCE/Mate: For non-KDE users not doing Qt development the full Qt package is quite an overkill. Might it be an idea to provide an solibs package like we do with e.g. glibc-solibs?
The glibc-solibs package was split off the main glibc package for people who don't need to compile anything and only require runtime libc support.
The Qt package on the other hand, does not have non-essential parts. You'll need all of it if you want to use Qt based applications. In your view, what useless bits could be sacrificed?
 
Old 02-14-2018, 12:12 AM   #3
elcore
Member
 
Registered: Sep 2014
Distribution: Slackware
Posts: 590

Rep: Reputation: Disabled
Splitting the libs from the package can be a lot of work, because upstream can change something anytime and when it breaks you'll have to fix manually.
Personally, if I had to distribute, I'd split it into; qt5-base, qt5-devtools and qt5-qtwebengine

I build currently 5.9.4 LTS with the tools included, because I sometimes use them, but they're not really a requirement for building other programs.
The qtwebengine directory I just rm -rf before building, because 1. I have zero use for it, and 2. it takes all day to compile.

Not sure about what parts the OP needs, but it should be easy to repack the binaries, without rebuilding from source.
 
Old 02-14-2018, 04:05 AM   #4
burdi01
Member
 
Registered: Dec 2010
Location: The Netherlands
Distribution: Slackware Current64, Xubuntu
Posts: 291

Original Poster
Rep: Reputation: 39
@Alien Bob:
Quote:
In your view, what useless bits could be sacrificed?
Just because I have no use for some components does not mean these are useless -- others certainly will need them.

As I said before I am a non-KDE user not doing Qt development, I just want to run some applications that happen to be built with Qt. Actually this is one and only one application at the moment: your VLC 3.0.0. So I expect the libraries to be the only component that I need.
However, from https://www.linuxquestions.org/quest...t5-4175623541/ I know that I need at least one or more includes ...

I added researching what components I can remove for qt5-base (as elcore called it above) to my todo list.

In hindsight this thread is more about "testing the waters" -- comments and ideas are welcome.

Last edited by burdi01; 02-14-2018 at 04:22 AM.
 
Old 02-20-2018, 11:13 AM   #5
burdi01
Member
 
Registered: Dec 2010
Location: The Netherlands
Distribution: Slackware Current64, Xubuntu
Posts: 291

Original Poster
Rep: Reputation: 39
Creating a qt5-solibs package by pruning the full qt5 one turns out to be more involved and less rewarding than I expected:
-- More involved: Because of the rather complex structure on the full package isolating the applicable components is more or less guesswork. E.g. the libraries (/usr/lib64/libQt*) are an obvious requirement, but what about the plugins (/usr/lib64/qt5/plugins/*) -- are these .so's also required?
Also my kernel "make xconfig" requirement brings in one or more includes (/usr/include/qt5/*) and possibly more components.
-- Less rewarding: The libraries are by far the largest component: 70.9 MB out of the total full package tar.gz size of 115.6 MB. And the plugins would add some 8.6 MB. In other words the eventual savings are not worth the trouble ...
Other distributions, such as Fedora and Ubuntu, work around this size dilemma by providing a largish number of packages with only one or a few libraries each. They can do that thanks to their dependencies handling, whereas Slackware cannot.

So no qt5-solibs package by me ...
 
1 members found this post helpful.
Old 02-20-2018, 02:18 PM   #6
55020
Senior Member
 
Registered: Sep 2009
Location: Yorks. W.R. 167397
Distribution: Slackware
Posts: 1,307
Blog Entries: 4

Rep: Reputation: Disabled
It took you less than a week to produce good evidence and decide independently about something that Fedora and Debian still haven't learned after twenty years -- that splitting packages is confusing and pointless -- you should feel really good about that
 
6 members found this post helpful.
Old 02-21-2018, 04:13 AM   #7
burdi01
Member
 
Registered: Dec 2010
Location: The Netherlands
Distribution: Slackware Current64, Xubuntu
Posts: 291

Original Poster
Rep: Reputation: 39
Quote:
... produce good evidence ... about something that Fedora and Debian still haven't learned after twenty years -- that splitting packages is confusing and pointless
No I did not nor did I intend to do so. I just said that Fedora and Ubuntu can keep the installed size down by splitting the package thanks to their dependencies handling, whereas Slackware can only do all-or-nothing.
It should be noted that, though in this particular case their **) results coincide more with what I am looking for, I in general like our ***) approach (no dependency handling, the "database" being ordinary files that can be handled with standard tools) much better -- otherwise I would not have been a Slacker since 3.1 *) ...


*) And a BSD-like init system (no sysvinit, no systemd), configuration via text files and so on!

Edits Feb 26, 2018: to clarify:
**) i.e. Fedora and Ubuntu
***) Slackware

Last edited by burdi01; 02-26-2018 at 03:48 AM.
 
Old 02-24-2018, 11:05 AM   #8
burdi01
Member
 
Registered: Dec 2010
Location: The Netherlands
Distribution: Slackware Current64, Xubuntu
Posts: 291

Original Poster
Rep: Reputation: 39
Qt custom package

One expects an XXX-solibs package to provide the full runtime. But as I said previously:
Quote:
Creating a qt5-solibs package by pruning the full qt5 one turns out to be more involved and less rewarding than I expected:
.....
-- Less rewarding: The libraries are by far the largest component: 70.9 MB out of the total full package tar.gz size of 115.6 MB. And the plugins would add some 8.6 MB. In other words the eventual savings are not worth the trouble ...
As an experiment I created a qt5-custom package targeting only my own use case:
-- running vlc 3.0.0
-- kernel: make xconfig
That package turns out to take only 19.0 MB. These savings certainly are worth the trouble!

For the curious:
-- i586: https://drive.google.com/file/d/1vsW...ew?usp=sharing
-- x86_64: https://drive.google.com/file/d/1BsE...ew?usp=sharing
-- build: https://drive.google.com/file/d/1jRF...ew?usp=sharing

All sizes as mentioned are for tar.gz's.
 
1 members found this post helpful.
Old 02-24-2018, 12:13 PM   #9
a4z
Senior Member
 
Registered: Feb 2009
Posts: 1,727

Rep: Reputation: 740Reputation: 740Reputation: 740Reputation: 740Reputation: 740Reputation: 740Reputation: 740
useless nonsense.

this might be enough for vlc, but not for other apps.

I have no idea of which saving you are talking, if you want a complete Qt solib package, you can remote
the help, the cmake files, the development headers
maybe some binary tools like assistan linguist, ..

the rest, all libs and Qml files, might be needed for other applications
since the files you remove are no trouble at all, it is for sure not worth any effort at all

If you have no Qt apps running that needs this, and want just vlc, why not building it statically linked against Qt?
or download an appimage
this would be much simpler

and you can use make gconfig to not have a Qt gui for the kernel.
so why not living without Qt at all, if some files are such a problem for you?
 
Old 02-24-2018, 04:27 PM   #10
burdi01
Member
 
Registered: Dec 2010
Location: The Netherlands
Distribution: Slackware Current64, Xubuntu
Posts: 291

Original Poster
Rep: Reputation: 39
@a4z:
Quote:
useless nonsense.
Thank you for your kind response.

Quote:
this might be enough for vlc, but not for other apps.
That is exactly what I said. Adding the support for another application should not take more than half an hour though.

Quote:
I have no idea of which saving you are talking
In the quote in the post you responded to I mentioned a full package tar.gz size of 115.6 MB. I would say that "my" 19.0 MB is some saving.

Quote:
and you can use make gconfig
I use xconfig for its search function, gconfig does not have one.

Last edited by burdi01; 02-25-2018 at 04:29 AM.
 
Old 02-24-2018, 09:56 PM   #11
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 5,951

Rep: Reputation: 3647Reputation: 3647Reputation: 3647Reputation: 3647Reputation: 3647Reputation: 3647Reputation: 3647Reputation: 3647Reputation: 3647Reputation: 3647Reputation: 3647
Quote:
Originally Posted by burdi01 View Post
I use xconfig for its search function, gconfig does not have one.
For those who may be curious, only xconfig and menuconfig support searching. In menuconfig, it uses the same hotkey as searching in manpages... that is using the forward slash '/'. It will then print out the results with numbers you can use as hotlinks to jump to that option.
 
Old 02-25-2018, 12:46 AM   #12
elcore
Member
 
Registered: Sep 2014
Distribution: Slackware
Posts: 590

Rep: Reputation: Disabled
This one here's 51M and has everything except qtwebengine (webkit).

Code:
head /var/log/packages/qt5-5.9.4-x86_64-1_SBo 
PACKAGE NAME:     qt5-5.9.4-x86_64-1_SBo
COMPRESSED PACKAGE SIZE:     51M
UNCOMPRESSED PACKAGE SIZE:     175M
And BTW there's a nconfig which also supports search, and works without X.
 
Old 02-25-2018, 10:38 AM   #13
a4z
Senior Member
 
Registered: Feb 2009
Posts: 1,727

Rep: Reputation: 740Reputation: 740Reputation: 740Reputation: 740Reputation: 740Reputation: 740Reputation: 740
Quote:
Originally Posted by burdi01 View Post
@a4z:

Thank you for your kind response.
you are welcome


Quote:
Originally Posted by burdi01 View Post
That is exactly what I said. Adding the support for another application should not take more than half an hour though.
except you need to build Qt, than its a half day + half an hour + some extra gigabyte of space for the build files

or, you have everything already on place, but what do you spare then?


Quote:
Originally Posted by burdi01 View Post
In the quote in the post you responded to I mentioned a full package tar.gz size of 115.6 MB. I would say that "my" 19.0 MB is some saving.
there are distributions that split packages in absurd many sub packages, and than you can install exactly just the needed ones
what you actually request is this, and not a Qt solib package.

and than, why stop with Qt, most boost libraries, except program options, for example, are totally unused.
why not also split this package, and than all others .....

Slackware (and Arch and some others) do not do this, and this is good.



Quote:
Originally Posted by burdi01 View Post
I use xconfig for its search function, gconfig does not have one.
as other mentioned, there are more alternatives that provide your functionality


please note, I do not want to stop you from experimenting around, continue doing so.
I just wanted to give you some feedback and fix the thing that you do not ask for a solib package but for multiple packed packages, with package-dev and so on...
 
Old 02-26-2018, 04:26 AM   #14
burdi01
Member
 
Registered: Dec 2010
Location: The Netherlands
Distribution: Slackware Current64, Xubuntu
Posts: 291

Original Poster
Rep: Reputation: 39
@bassmadrigal: It never occurred to me that menuconfig might have a search feature -- thks for the tip.

@elcore: Until now the fact that I referred to Alien Bob's qt5 package was irrelevant as I expect all "full" qt5 packages to be biggies. Your SBO un/compressed package size is 51/175M, Alien's 74/320M. "Internally" I use tgz values instead of these txz ones -- Alien's then becomes 108/320M and with some detail roundings 115/320M.

@a4z: I must have expressed myself very badly for you to keep thinking that I requested the qt5 package to be split into (potentially) many subpackages. I did and do not.
Also I use Alien's full package as a "treasure trove" to extract the needed components from. So adding e.g. another library does not take more than determining which library (via ldd or otherwise), adding a line to my slackbuild, running the amended slackbuild (which takes less than a minute) and upgradepkg'ing the result. I could do several rounds within that half hour.


Last edited by burdi01; 02-26-2018 at 07:38 AM.
 
Old 06-25-2018, 12:34 PM   #15
elcore
Member
 
Registered: Sep 2014
Distribution: Slackware
Posts: 590

Rep: Reputation: Disabled
I've reduced compressed size by additional 50M, and compile time by additional hour or so.
It's only used for some multimedia and networking stuff, there are no qtweb browsers or kde here. For those few packages that I build, it works ok.
Only tested 5.9.6 (previous ones 5.6 or 5.7 may not be as modular as this)

Code:
COMPRESSED PACKAGE SIZE:     37M
UNCOMPRESSED PACKAGE SIZE:     126M
Code:
tar xvf $CWD/${PRGNAM/5/}-everywhere-opensource-src-$VERSION.tar.?z
#
rm -rf ${PRGNAM/5/}-everywhere-opensource-src-$VERSION/qt3d
rm -rf ${PRGNAM/5/}-everywhere-opensource-src-$VERSION/qtcanvas3d
rm -rf ${PRGNAM/5/}-everywhere-opensource-src-$VERSION/qtdatavis3d
rm -rf ${PRGNAM/5/}-everywhere-opensource-src-$VERSION/qtdoc
rm -rf ${PRGNAM/5/}-everywhere-opensource-src-$VERSION/qtgamepad
rm -rf ${PRGNAM/5/}-everywhere-opensource-src-$VERSION/qtlocation
rm -rf ${PRGNAM/5/}-everywhere-opensource-src-$VERSION/qtmacextras
rm -rf ${PRGNAM/5/}-everywhere-opensource-src-$VERSION/qtpurchasing
rm -rf ${PRGNAM/5/}-everywhere-opensource-src-$VERSION/qtserialbus
rm -rf ${PRGNAM/5/}-everywhere-opensource-src-$VERSION/qtserialport
rm -rf ${PRGNAM/5/}-everywhere-opensource-src-$VERSION/qtspeech
rm -rf ${PRGNAM/5/}-everywhere-opensource-src-$VERSION/qttranslations
rm -rf ${PRGNAM/5/}-everywhere-opensource-src-$VERSION/qtwayland
rm -rf ${PRGNAM/5/}-everywhere-opensource-src-$VERSION/qtweb*
rm -rf ${PRGNAM/5/}-everywhere-opensource-src-$VERSION/qtwinextras
#
cd ${PRGNAM/5/}-everywhere-opensource-src-$VERSION
 
  


Reply

Tags
qt


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Slackware current: 32bit openssl-solibs-1.0.2m-i586-1 bathory Slackware 8 11-08-2017 02:21 PM
curent: upgrade failed after glibc-solibs, so nothing will run Stephen Morgan Slackware 9 06-16-2016 11:28 AM
shntool and glibc-solibs porphyry5 Linux - Software 8 05-31-2012 04:01 PM
seamonkey-solibs on Slackware-12.2 rhermsen Slackware 4 09-29-2010 03:51 PM
Accidentally Removed glibc-solibs package on Slack 10.1 skubik Slackware 8 08-08-2008 05:12 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 05:58 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration