CRUX

Welcome to CRUX bug tracking.
Tasklist

FS#1803 - Some important prt-get improvements

Attached to Project: CRUX
Opened by Feodor Petrov (teodor) - Thursday, 09 April 2020, 11:13 GMT
Last edited by Fredrik Rinnestam (frinnst) - Sunday, 12 April 2020, 21:32 GMT
Task Type Improvement
Category tools → prt-get
Status Closed
Assigned To No-one
Operating System CRUX
Severity Low
Priority High
Reported Version 3.5
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

1) Please add an option to ask for confirmation to proceed installing/upgrading (probably -a --ask).

2) Please add an option to show which packages will be processed during sysup (or all other jobs). Needed to know which package from which to which version is going to be upgraded/downgraded (U/D like in Gentoo, optionaly colored).
Also need to know which new packages will be installed (N).

Needed to know which packages will be upgraded (or even downgraded) and from which to which version, and reject it if you don't like something.

3) Add a blacklist file in /etc containing packages that you don't need to upgrade (definite version). As I did not find how to do that. Probably this should be done to pkgadd not prt-get.
This task depends upon

Closed by  Fredrik Rinnestam (frinnst)
Sunday, 12 April 2020, 21:32 GMT
Reason for closing:  Won't fix
Additional comments about closing:  Closing as the bug tracker is not a discussion forum. Feel free to continue on the mailinglist.
Comment by Feodor Petrov (teodor) - Thursday, 09 April 2020, 14:48 GMT
2) I know about ports -d and prt-get diff. This is not that I need.
Firs of all the order of packages in prt-get sysup is another.
And second: there probably may be additionall dependencies for recompilation.
Comment by Feodor Petrov (teodor) - Thursday, 09 April 2020, 14:49 GMT
3) This probably may be realized with a local repository.
Comment by Juergen Daubert (jue) - Thursday, 09 April 2020, 14:58 GMT
Try the --test option of sysup, should at least partly do what you want for 2), the lock/unlock command might help with 3).
Comment by Feodor Petrov (teodor) - Thursday, 09 April 2020, 15:12 GMT
I've already been tald to about --test option on a russian forum. Yes that is a partial solution, but it does not shows versions from wich to which packages will be upgraded to (even with -vv).
Comment by Fredrik Rinnestam (frinnst) - Thursday, 09 April 2020, 17:53 GMT
What about "prt-get diff"?
Comment by Fredrik Rinnestam (frinnst) - Thursday, 09 April 2020, 17:58 GMT
#3 - "prt-get lock <port>" partially does this. It locks a port from being upgraded by prt-get completely. Doesn't care about versions.
Comment by Feodor Petrov (teodor) - Friday, 10 April 2020, 03:02 GMT
prt-get diff shows packages not in that order in which prt-get sysup does updating. Also probably prt-get diff does not always show all packages that will be processed (probably there may be situations when recompiling one package influence recompiling some another package).
Comment by Feodor Petrov (teodor) - Friday, 10 April 2020, 03:08 GMT
also that information about what will be proceeded should be shown not only during sysup but for all packages that will be processed (even if you compiling one single package).
Comment by Feodor Petrov (teodor) - Friday, 10 April 2020, 12:58 GMT
Also need to know which new packages will be installed (N).
Comment by Feodor Petrov (teodor) - Friday, 10 April 2020, 14:06 GMT
It is very important because there definitly should be a feedback about what you are doing in your system.
Me (and not only me) will not use system that does not provide that kind of information.
Comment by Tim Biermann (tb) - Friday, 10 April 2020, 21:52 GMT
>Also need to know which new packages will be installed (N).

It will never install any new packages while updating. You need to track new dependencies yourself, either by watching announcements made on the ML or you can use

prt-cache depends `prt-cache listinst` | grep "\[ \]"

to check if you are missing listed dependencies. prt-cache needs a cache to be build (after every ports -u) with prt-get cache.

>prt-get diff shows packages not in that order in which prt-get sysup does updating. Also probably prt-get diff does not always show all packages that will be processed (probably there may be situations when recompiling one package influence recompiling some another package).

It's an alphabetically ordered list. iirc, it will resolve the chain of dependencies of packages that are available to update and process them as that.

Also prt-get doesn't handle recompiles automagically for you. You need to use revdep and check for broken libs and, again, monitor announcements made on the mailing list, then recompile as instructed.

> also that information about what will be proceeded should be shown not only during sysup but for all packages that will be processed (even if you compiling one single package).

Can you elaborate?
Comment by Danny Rawlins (Romster) - Saturday, 11 April 2020, 02:37 GMT
No one seems to have mentioned "prt-get deptree <portname>" that will show what's installed already and what needs to be installed to work for the new port.

"prt-get diff" and "revdep" (from prt-utils). And as others have mentioned "prt-get [lock|unlock|listlocked]".

CRUX does not hold your hand it isn't as idiot proof as ebuild. rpm or debs are. CRUX is designed for experienced users, perhaps write some patches of these features and attach them here as a feature request, or use a more suitable distro if you don't fancy getting your hands dirty in a few additional commands and manually looking, or script it to your hearts content.
Comment by Feodor Petrov (teodor) - Saturday, 11 April 2020, 11:32 GMT
>It will never install any new packages while updating.
But depinstall will (?). So anyway prt-get shoud feedback for (U/D/N) for each package and from which to which version.
Comment by Feodor Petrov (teodor) - Saturday, 11 April 2020, 11:34 GMT
I mean depinst
Comment by Tim Biermann (tb) - Saturday, 11 April 2020, 11:36 GMT
depinstall will. Maybe you want to check for the deptree or depends before choosing software to use? But why should it need to actively inform you about stuff? EDIT: there is no depupdate, so it won't just pull new packages. And version mismatches that can't get resolved by the version sort algorithm are displayed separately as well.

Basically you are saying that you demand features that you don't provide, nobody else seems to need or else you will use something else? I'm confused.
Comment by Feodor Petrov (teodor) - Saturday, 11 April 2020, 11:41 GMT
Actualy I already created scripts which display colored (U/D/N) and versions
Comment by Tim Biermann (tb) - Saturday, 11 April 2020, 11:45 GMT
So actually you want to propose to upstream them, but where are they?

Also: judging from the current stance, nobody really sees the need for that, as there are other ways around that already that work great. Where is your problem with your DIY-solution on a mostly DIY-distro?
Comment by Feodor Petrov (teodor) - Saturday, 11 April 2020, 12:53 GMT
> but where are they?
I doubt that many people will like them, because they some kind of special (tied to /SYSTEM file). I made them for myself.
Comment by Feodor Petrov (teodor) - Saturday, 11 April 2020, 13:15 GMT
Read INSTALL for installing. Need to add some lines to shell config file for work. Example profile file is there.
CRUX scripts are in scripts/S/CRUX/ and scripts/S/default/.
Comment by Fredrik Rinnestam (frinnst) - Saturday, 11 April 2020, 13:52 GMT
prt-get will never be interactive. It's not what prt-get is intended to do. If you need these features perhaps a new tool is better suited to do what you need? Though this is the first time a feature request like this has been made in ~20 years. Most users seem to be satisfied what CRUX already is/does :-)

Comment by Feodor Petrov (teodor) - Saturday, 11 April 2020, 14:29 GMT
> perhaps a new tool is better suited to do what you need?
Already created a frontend for prt-get which asks for confirmation, shows colored U D N and shows from which to which version packages will be updated to.
Comment by Tim Biermann (tb) - Saturday, 11 April 2020, 20:13 GMT
Not that my opinion matters a lot, but I agree with frinnst and jue about this being out of scope for prt-get.
Comment by Feodor Petrov (teodor) - Sunday, 12 April 2020, 06:41 GMT
I encountered a problem. If there are several copies of the same port in different port collections whith different versions, there is no easy way to determine which port version from which collection will be installed (since 'prt-get list' does not snow a port collection for a package, and 'ports -l' does not show versions). Both prt-get and ports shoud have ability to show port-collection and version for a package. It woud be perfect if prt-get will show package version of package that will be installed. I'm not asking to make it interactive, I've already done this in my scripts, I'm asking to make it show versions, what every normal package manager must do.
Comment by Juergen Daubert (jue) - Sunday, 12 April 2020, 07:47 GMT
prt-get info <port>, prt-get diff [<port>] etc., etc.
Btw, there is a nice man-page for prt-get.
Comment by Feodor Petrov (teodor) - Sunday, 12 April 2020, 10:59 GMT
Thanks. prt-get info shows information about the port which will be installed
Comment by Feodor Petrov (teodor) - Sunday, 12 April 2020, 15:48 GMT
> prt-cache depends `prt-cache listinst`
It shows dependencies of installed packages or packages that may be upgraded to?
will it show dependencies of dependencies?
Comment by Feodor Petrov (teodor) - Sunday, 12 April 2020, 18:42 GMT
> will it show dependencies of dependencies?
I think deptree does.

Loading...