Comments (3)
The fundamental problem here is that it is entirely legitimate for the user to have self-built packages installed on their system, whether from wip or elsewhere, and there is no way to distinguish those accurately from those that are installed from the remote repository.
Certainly nagging the user every time they perform pkgin upgrade
that all of their additional packages could be affected isn't a great user experience.
One thing I will look into is whether we can perform a DEPENDS
and REQUIRES
check after install/upgrade, either via a new pkgin check
command or automatically after install operations.
from pkgin.
That makes sense about self-built. Actually I self build entirely on one machine, and then use that to manage elsewhere. But sometimes for various reasons a binary package isn't in the repo and should be. Personally I feel that if you are using pkgin you should drink the binary package koolaid and generate a pkg_summary for your locally-built packages and add it as a repo.
I see the point about nagging not being great, but an explicit pre-flight check that can be requested seems like it would help. Sort of "if I did pkgin fug, then are there any packages that are wanted but aren't here".
It would be nice to be able to predict if the upgrade is going to be ok, or if missing packages will cause trouble. I think this might be the pre-flight check above, and it might be less. Having a missing package is sort of ok if everything that depends on it is ok with the installed version.
And, sometimes I've seen: "foo is not in repo, proceed anyway?" only to create foo and then get warned about bar.
I will have a fresh look after the update; I get it that much of this is likely better.
from pkgin.
Some concrete suggestions to make progress on a hard problem:
If an installed package is eligible for upgrade because the repository(ies) have a newer version, then if any dependency of that package is missing, print a warning/are-you-sure.
If a warning is printed, collect the entire list of things to be warned about. Avoid the pattern of complaining about A, user fixes A, complain about B, if it was knowable at A-complaint time that B was also an issue.
If an installed package is missing from the repository, and any dependency of that package would be upgraded, then check those for being allowable with the installed package. warn/are-you-sure if not ok
from pkgin.
Related Issues (20)
- partial upgrades are confusing, and man page does not explain what upgrade means HOT 7
- verbose mode is completely wrong
- Category parsing needs to be improved
- Multiple users running install at the same time corrupts the pkgin database
- Incorrect version comparison logic HOT 2
- pkgin struggling with nodejs's multiple version HOT 5
- pkgin should allow user prioritizing of pkg_summary archive formats HOT 2
- deinstall does not order packages correctly HOT 8
- inconsistency in output HOT 7
- pkgin leaks memory quadratically HOT 1
- Upgrade will install unnecessary packages HOT 7
- ohloh thin badge does not load on pkgin website HOT 1
- 'pkgin rm *' behaves unexpectedly HOT 6
- Download packages in parallel
- Dependent packages should only be upgraded once HOT 2
- [Feature Request] Add retry when download fails during install
- man page nits HOT 2
- configure.ac wrongly checks for header files in build environment
- Flavors: How to preserve specific optionality in pkgsrc builds? HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pkgin.