LinuxQuestions.org
Latest LQ Deal: Complete CCNA, CCNP & Red Hat Certification Training Bundle
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 12-02-2017, 01:27 PM   #1
Darth Vader
Senior Member
 
Registered: May 2008
Location: Romania
Distribution: DARKSTAR Linux 2008.1
Posts: 1,641

Rep: Reputation: 583Reputation: 583Reputation: 583Reputation: 583Reputation: 583Reputation: 583
A way of extending the PKGTOOLS for handling Groups


Idea is very simple:

To extend the PKGTOOLS to handle "install/slack-groups" files, where could be specified multiple Package Groups, one per line.

For example, "L" series could correspond with "Libraries" group.

For what to do that little supplementary "complication" ?

The Design could be used in more other ways, for example, we can imagine a group "LAMP", which gives you all packages needed for an Apache Web-Server with all the bells.

Last edited by Darth Vader; 12-05-2017 at 04:03 PM.
 
Old 12-02-2017, 01:46 PM   #2
Alien Bob
Slackware Contributor
 
Registered: Sep 2005
Location: Eindhoven, The Netherlands
Distribution: Slackware
Posts: 6,721

Rep: Reputation: 4085Reputation: 4085Reputation: 4085Reputation: 4085Reputation: 4085Reputation: 4085Reputation: 4085Reputation: 4085Reputation: 4085Reputation: 4085Reputation: 4085
For this to work the pkgtools should support dependency resolution. They don't and won't.
Let's turn things around. Tagfiles already do a lot of what you propose. They only work in the installer, agreed, but that's where you would use your "slack groups" too.

Why don't you setup a repository (and invite others to assist) where you maintain sets of tagfiles for the most recent Slackware releases? Sets that would ease the installation of a KDE-free Slackware, or a LAMP stack, or a console-only server, or... [fill in the blanks].
 
7 members found this post helpful.
Old 12-02-2017, 01:58 PM   #3
Darth Vader
Senior Member
 
Registered: May 2008
Location: Romania
Distribution: DARKSTAR Linux 2008.1
Posts: 1,641

Original Poster
Rep: Reputation: 583Reputation: 583Reputation: 583Reputation: 583Reputation: 583Reputation: 583
Quote:
Originally Posted by Alien Bob View Post
For this to work the pkgtools should support dependency resolution. They don't and won't.
Permit me to disagree. Those Package Groups has nothing to do with the Automated Dependency Resolution.

They are just an extension of the actual Design, of grouping the packages in the Package Series, just adding the ability to be specified multiple groups.

And it is very simple: IF the package presents a file "install/slack-groups" it process and register its content in the database, as a new line(s), for example a file containing:

Code:
Libraries
Plasma Dependencies
will result in registration of
Code:
PACKAGE GROUPS: Libraries, Plasma Dependencies
That's all. No automated dependency resolution of any kind.

Quote:
Originally Posted by Alien Bob View Post
Why don't you setup a repository (and invite others to assist) where you maintain sets of tagfiles for the most recent Slackware releases? Sets that would ease the installation of a KDE-free Slackware, or a LAMP stack, or a console-only server, or... [fill in the blanks].
Is worth to do that (or I can do that in a reasonable time) while the internal dependencies of a Slackware release is some kind Black Magic know only by you and our BDFL?

Last edited by Darth Vader; 12-02-2017 at 02:02 PM.
 
Old 12-02-2017, 02:02 PM   #4
volkerdi
Slackware Maintainer
 
Registered: Dec 2002
Location: Minnesota
Distribution: Slackware! :-)
Posts: 1,318

Rep: Reputation: 3709Reputation: 3709Reputation: 3709Reputation: 3709Reputation: 3709Reputation: 3709Reputation: 3709Reputation: 3709Reputation: 3709Reputation: 3709Reputation: 3709
Quote:
Originally Posted by Darth Vader View Post
Is worth to do that while the internal dependencies of a Slackware release is some kind Black Magic know only by you and our BDFL?
It's a mistake to think that we know them, or that your simplistic scheme would be able to handle them properly.

What you're proposing is outside of the scope of what the package utilities are designed to do, which is handle installation/removal/upgrade of tar+compression archives and maintain a text-file database of what's currently installed on the machine.

Feel free to develop and maintain a third party tool that attempts to do this, and maintain the dependency databases that it requires, but it won't be done here.
 
9 members found this post helpful.
Old 12-02-2017, 02:16 PM   #5
Darth Vader
Senior Member
 
Registered: May 2008
Location: Romania
Distribution: DARKSTAR Linux 2008.1
Posts: 1,641

Original Poster
Rep: Reputation: 583Reputation: 583Reputation: 583Reputation: 583Reputation: 583Reputation: 583
Look, Patrick...

The proposed scheme is intentionally simplistic, to ensure a low burden of its adding, and its purpose is purely informational and human readable, with no handling of that new information registered in database.

How the user use that information?

With a thirdly partly tool? Manually? Is at his choice and abilities.

For example, a die hard user could even do a full install, then can decide to look into packages database, on every file, and to remove manually some particular packages.

You can see it as a way to share an information which you already know (the purpose of that software) at the time of building a package, with your users. Nothing more.

Last edited by Darth Vader; 12-02-2017 at 02:22 PM.
 
Old 12-02-2017, 02:43 PM   #6
Darth Vader
Senior Member
 
Registered: May 2008
Location: Romania
Distribution: DARKSTAR Linux 2008.1
Posts: 1,641

Original Poster
Rep: Reputation: 583Reputation: 583Reputation: 583Reputation: 583Reputation: 583Reputation: 583
And to continue my arguments, to note that the PKGTOOLS already register the Package Series, sort of.
Code:
PACKAGE NAME:     audacious-3.9-i586-1
COMPRESSED PACKAGE SIZE:     480.0K
UNCOMPRESSED PACKAGE SIZE:     2.0M
PACKAGE LOCATION: /usb-stick/slackware-current/slackware/xap/audacious-3.9-i586-1.txz
PACKAGE DESCRIPTION:
audacious: audacious (A relatively powerful media player)
audacious:
audacious: Audacious is a media player, based on Beep Media Player, which is in
audacious: turn based on the X Multimedia System (XMMS).  It is used to play
audacious: audio and other kinds of media files.  By default Audacious can play
audacious: MPEG audio, Ogg Vorbis, RIFF wav, most module formats, and a few
audacious: other formats.  Audacious can be extended through plugins to play a
audacious: number of other audio and video formats.
audacious:
audacious: The webpage for Audacious is: http://www.audacious-media-player.org
audacious:
FILE LIST:
./
install/
install/doinst.sh
install/slack-desc
usr/
usr/bin/
usr/bin/audacious
usr/bin/audtool
...
A snippet from a random package, which shows the (original) location of the installed tarball.

One can write a tool to parse "PACKAGE LOCATION" and to identify the Package Series which hosted this particular package. Or he just can read that information: XAP

Last edited by Darth Vader; 12-02-2017 at 02:52 PM.
 
Old 12-02-2017, 02:56 PM   #7
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-14.2 on Lenovo Thinkpad W520
Posts: 7,865

Rep: Reputation: 2778Reputation: 2778Reputation: 2778Reputation: 2778Reputation: 2778Reputation: 2778Reputation: 2778Reputation: 2778Reputation: 2778Reputation: 2778Reputation: 2778
Quote:
Originally Posted by volkerdi View Post
Feel free to develop and maintain a third party tool that attempts to do this, and maintain the dependency databases that it requires, but it won't be done here.
This is already done.

This repo has all that's needed. So one can just type
Code:
slapt-get --install-set kde
to install all packages in the kde series. Here I have kde installed but that's what would else be installed, if I use an official mirror as source:
Code:
root[/home/didier]# LANG=en_US.utf8 slapt-get --install-set kde -s
Reading Package Lists...Done
amarok is up to date.
amor is up to date.
analitza is up to date.
ark is up to date.
artikulate is up to date.
audiocd-kio is up to date.
baloo is up to date.
baloo-widgets is up to date.
blinken is up to date.
bluedevil is up to date.
bomber is up to date.
bovo is up to date.
calligra is up to date.
cantor is up to date.
cervisia is up to date.
dolphin-plugins is up to date.
dragon is up to date.
filelight is up to date.
granatier is up to date.
gwenview is up to date.
juk is up to date.
k3b is up to date.
kaccessible is up to date.
kactivities is up to date.
kajongg is up to date.
kalgebra is up to date.
kalzium is up to date.
kamera is up to date.
kanagram is up to date.
kapman is up to date.
kapptemplate is up to date.
kate is up to date.
katomic is up to date.
kaudiocreator is up to date.
kblackbox is up to date.
kblocks is up to date.
kbounce is up to date.
kbreakout is up to date.
kbruch is up to date.
kcachegrind is up to date.
kcalc is up to date.
kcharselect is up to date.
kcolorchooser is up to date.
kcron is up to date.
kde-base-artwork is up to date.
kde-baseapps is up to date.
kde-dev-scripts is up to date.
kde-dev-utils is up to date.
kde-runtime is up to date.
kde-wallpapers is up to date.
kde-workspace is up to date.
kdeartwork is up to date.
kdeconnect-kde is up to date.
kdegraphics-mobipocket is up to date.
kdegraphics-strigi-analyzer is up to date.
kdegraphics-thumbnailers is up to date.
kdelibs is up to date.
kdenetwork-filesharing is up to date.
kdenetwork-strigi-analyzers is up to date.
kdepim is up to date.
kdepim-runtime is up to date.
kdepimlibs is up to date.
kdeplasma-addons is up to date.
kdesdk-kioslaves is up to date.
kdesdk-strigi-analyzers is up to date.
kdesdk-thumbnailers is up to date.
kdev-python is up to date.
kdevelop is up to date.
kdevelop-pg-qt is up to date.
kdevelop-php is up to date.
kdevelop-php-docs is up to date.
kdevplatform is up to date.
kdewebdev is up to date.
kdf is up to date.
kdiamond is up to date.
kfilemetadata is up to date.
kfloppy is up to date.
kfourinline is up to date.
kgamma is up to date.
kgeography is up to date.
kget is up to date.
kgoldrunner is up to date.
kgpg is up to date.
khangman is up to date.
kig is up to date.
kigo is up to date.
killbots is up to date.
kio-mtp is up to date.
kiriki is up to date.
kiten is up to date.
kjumpingcube is up to date.
klettres is up to date.
klickety is up to date.
klines is up to date.
kmag is up to date.
kmahjongg is up to date.
kmines is up to date.
kmix is up to date.
kmousetool is up to date.
kmouth is up to date.
kmplot is up to date.
knavalbattle is up to date.
knetwalk is up to date.
kolf is up to date.
kollision is up to date.
kolourpaint is up to date.
kompare is up to date.
konquest is up to date.
konsole is up to date.
kopete is up to date.
korundum is up to date.
kpat is up to date.
kplayer is up to date.
kppp is up to date.
kqtquickcharts is up to date.
krdc is up to date.
kremotecontrol is up to date.
kreversi is up to date.
krfb is up to date.
kross-interpreters is up to date.
kruler is up to date.
ksaneplugin is up to date.
kscreen is up to date.
kshisen is up to date.
ksirk is up to date.
ksnakeduel is up to date.
ksnapshot is up to date.
kspaceduel is up to date.
ksquares is up to date.
kstars is up to date.
ksudoku is up to date.
ksystemlog is up to date.
kteatime is up to date.
ktimer is up to date.
ktorrent is up to date.
ktouch is up to date.
ktuberling is up to date.
kturtle is up to date.
ktux is up to date.
kubrick is up to date.
kuser is up to date.
kwalletmanager is up to date.
kwebkitpart is up to date.
kwordquiz is up to date.
libkcddb is up to date.
libkcompactdisc is up to date.
libkdcraw is up to date.
libkdeedu is up to date.
libkdegames is up to date.
libkexiv2 is up to date.
libkipi is up to date.
libkmahjongg is up to date.
libkomparediff2 is up to date.
libksane is up to date.
libkscreen is up to date.
libktorrent is up to date.
libmm-qt is up to date.
libnm-qt is up to date.
lokalize is up to date.
lskat is up to date.
marble is up to date.
mplayerthumbs is up to date.
nepomuk-core is up to date.
nepomuk-widgets is up to date.
okteta is up to date.
okular is up to date.
oxygen-gtk2 is up to date.
oxygen-icons is up to date.
pairs is up to date.
palapeli is up to date.
parley is up to date.
partitionmanager is up to date.
perlkde is up to date.
perlqt is up to date.
picmi is up to date.
plasma-nm is up to date.
polkit-kde-agent-1 is up to date.
polkit-kde-kcmodules-1 is up to date.
poxml is up to date.
print-manager is up to date.
pykde4 is up to date.
qtruby is up to date.
rocs is up to date.
skanlite is up to date.
smokegen is up to date.
smokekde is up to date.
smokeqt is up to date.
step is up to date.
superkaramba is up to date.
svgpart is up to date.
sweeper is up to date.
umbrello is up to date.
wicd-kde is up to date.
zeroconf-ioslave is up to date.
0 upgraded, 0 reinstalled, 0 newly installed, 0 to remove, 0 not upgraded.
Done
root[/home/didier]#
But here is what I get if i use the aforementioned repo:

Well, it seems that I get the same output without akonadi.

However it works for a single package, so I am not sure that slapt-get considers the deps as it does when with the option --install instead of --install-set. I will check that if if confirmed make a feature request.

Last edited by Didier Spaier; 12-02-2017 at 03:26 PM.
 
Old 12-02-2017, 02:59 PM   #8
Darth Vader
Senior Member
 
Registered: May 2008
Location: Romania
Distribution: DARKSTAR Linux 2008.1
Posts: 1,641

Original Poster
Rep: Reputation: 583Reputation: 583Reputation: 583Reputation: 583Reputation: 583Reputation: 583
Yeah, Didier...

BUT, that use automated dependency resolution given by "slapt-get". AND, I do not think that it is able to clean "uninstall" the KDE and all its dependencies. There should be the human factor.

Instead, my proposal is just about a simple and the simplest way of extending an already existent feature, to be a help (eventually) for our BDFL to share more easily (and organized) some valuable information with us: the package purpose.

Note that the Slackware already have a way to specify an unique Packages Group: we call this Package Series.

My proposal is just about extending that feature, to have ability to specify multiple values.

OK, if there is no like for the name Package Groups, we can name that Package Series or whatever.

Last edited by Darth Vader; 12-02-2017 at 03:26 PM.
 
Old 12-02-2017, 03:34 PM   #9
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-14.2 on Lenovo Thinkpad W520
Posts: 7,865

Rep: Reputation: 2778Reputation: 2778Reputation: 2778Reputation: 2778Reputation: 2778Reputation: 2778Reputation: 2778Reputation: 2778Reputation: 2778Reputation: 2778Reputation: 2778
Quote:
Originally Posted by Darth Vader View Post
Yeah, Didier...

BUT, that use automated dependency resolution given by "slapt-get".
Yes, but what does that change? The hard work (finding the deps accurately) has to be done in all cases, whether to feed a tool or to populate the groups manually.

Quote:
AND, I do not think that it is able to clean "uninstall" the KDE and all its dependencies.
Correct, it can only uninstall a single package or a blank separated list of packages, not a set. In other words there is no --remove-set option.

Last edited by Didier Spaier; 12-02-2017 at 04:54 PM.
 
1 members found this post helpful.
Old 12-02-2017, 03:42 PM   #10
Darth Vader
Senior Member
 
Registered: May 2008
Location: Romania
Distribution: DARKSTAR Linux 2008.1
Posts: 1,641

Original Poster
Rep: Reputation: 583Reputation: 583Reputation: 583Reputation: 583Reputation: 583Reputation: 583
Quote:
Originally Posted by Didier Spaier View Post
Yes, but what does that change? The hard work (finding the deps accurately) has to be done in all case, whether to feed a tool or to populate the groups manually.
There you make a common mistake: you confuse the packages groups with the dependencies and their eventual automatically resolution.

A package group, at least in the concept of RPM or DEB, has nothing to do with dependencies, but instead is an organization of packages depending in their purpose.

Same we do also us, in a hard-coded way, organizing the packages in Package Series, which gives the ability to know an (unique) purpose of a particular package.

Are the Package Series controversial? I do not think so. BUT, they are already a way to specify an unique package group, like I said.

Have no importance that we call it "L" or "Libraries", it is worth that that particular package is part of that group.

Enter that simple extension of PKGTOOLS, where one can specify multiple groups for a particular package, and that information to be registered in packages database, for informational purposes only.

For example, even if you host a package in the L series, knowing well that you add that particular package as a dependency of Plasma, you can add a new line in the "install/slack-groups":
Code:
Plasma Dependencies
The users, even with no additional tools, can literally read that information and can know that that particular package was added for the Plasma wellness and it is one of its dependencies.

In other words: you know the purpose of that package.

Last edited by Darth Vader; 12-02-2017 at 03:57 PM.
 
Old 12-02-2017, 04:04 PM   #11
ivandi
Member
 
Registered: Jul 2009
Location: Québec, Canada
Distribution: SlackMATE on top of Slackware64-14.2
Posts: 400

Rep: Reputation: 515Reputation: 515Reputation: 515Reputation: 515Reputation: 515Reputation: 515
Quote:
Originally Posted by Darth Vader View Post
...
To extend the PKGTOOLS to handle "install/slack-groups" files, where could be specified multiple Package Groups, one per line.
...
man slackpkg:
Code:
generate-template
     This action creates a new template with all official packages that are installed in your system. The  tem‐
     plate is stored at /etc/slackpkg/templates

install-template
     This  action install the required template in the system. The template must be in /etc/slackpkg/templates.
     If the template "includes" other templates, all of them need to be  in  /etc/slackpkg/templates.  You  can
     disable the "includes" in slackpkg.conf or in command-line.

remove-template
     This  action remove all packages that are part of selected template. Be careful, this can put your machine
     in an unusable state. The "include" handling can be activated/deactivated in  slackpkg.conf  or  with  the
     appropriate option in command-line.

Cheers
 
1 members found this post helpful.
Old 12-02-2017, 04:10 PM   #12
Darth Vader
Senior Member
 
Registered: May 2008
Location: Romania
Distribution: DARKSTAR Linux 2008.1
Posts: 1,641

Original Poster
Rep: Reputation: 583Reputation: 583Reputation: 583Reputation: 583Reputation: 583Reputation: 583
Yeah, Ivandi...

BUT, that slackpkg template thing is a system wide feature which marks all installed packages on a template for future use.

Myself, I talk about package groups (or series), as a way to further organize the packages and to explain the purpose of a particular package to users.

Last edited by Darth Vader; 12-02-2017 at 04:22 PM.
 
Old 12-02-2017, 04:13 PM   #13
LuckyCyborg
Member
 
Registered: Mar 2010
Posts: 271

Rep: Reputation: 72
Excuse my ignorance, but it is hard to believe that the Slackware maintainer himself has no clue why he added a package to distribution...
 
Old 12-02-2017, 04:30 PM   #14
ivandi
Member
 
Registered: Jul 2009
Location: Québec, Canada
Distribution: SlackMATE on top of Slackware64-14.2
Posts: 400

Rep: Reputation: 515Reputation: 515Reputation: 515Reputation: 515Reputation: 515Reputation: 515
Quote:
Originally Posted by Darth Vader View Post
Myself I talk about package groups (or series), as a way to explain the purpose of a particular package to users.
Well, you can create /etc/slackpkg/templates/Libs_Used_Only_By_Plasma5.template and list the libraries one per line.

Or Common_libs.template or GTK.template or QT.template. A package can be in more than one template. A template can include other templates, for example GTK will include Common_libs and X_libs.

Any volunteer to maintain a set of templates


Cheers
 
Old 12-02-2017, 04:30 PM   #15
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-14.2 on Lenovo Thinkpad W520
Posts: 7,865

Rep: Reputation: 2778Reputation: 2778Reputation: 2778Reputation: 2778Reputation: 2778Reputation: 2778Reputation: 2778Reputation: 2778Reputation: 2778Reputation: 2778Reputation: 2778
Quote:
Originally Posted by LuckyCyborg View Post
Excuse my ignorance, but it is hard to believe that the Slackware maintainer himself has no clue why he added a package to distribution...
None of us believes that, I think. But what does this question bring to the discussion? In other words, how does it relates to its topic?

Last edited by Didier Spaier; 12-02-2017 at 04:55 PM.
 
1 members found this post helpful.
  


Reply


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
"No volume groups found" when using LVM to decrease partition size dj_thrive Linux - Enterprise 6 10-05-2017 06:21 PM
where is "Users and Groups" in Debian "Wheezy" ? StefanP Linux - Newbie 10 04-28-2014 04:37 PM
How do you move groups of sectors in a hard drive using the "dd" command? cross731 Linux - Newbie 4 09-20-2011 06:14 PM
A proposal regarding the _registration_ of package dependencies by Pkgtools Darth Vader Slackware 13 07-13-2011 06:01 AM
Error: "cannot set groups" by using "su -", pls help nelsonyuen Linux - General 14 07-31-2010 01:24 PM

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

All times are GMT -5. The time now is 05:33 PM.

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