When thinking of how to make repository management easier and safer für beginners, I had an idea how this could be achieved.
The result of my thoughts is a feature request, which I posted on openfate on the following link :
https://features.opensuse.org/314641
I really would appreciate, if could read this, and if you like the idea, vote for it.
It would have been easier to post the text here, so everybody can read it without having to click first. Also a discussion (that is where these firums are for) will be easier:
When thinking of a way how to prevent new users from adding dangerous repos (wrong version or factory) it came to my mind that it would be quite easy to do this.
When adding the repo it should be easy to search alias, name and url for words which do not correspond with the version currently in use.
For example for openSUSE 12.2 these expressions could be 11.4, 12.1, factory and so on.
To allow advanced users to use these repos one could add an option where this flag can be changed.
For example a parameter called allow_blacklist. Whether the value of this parameter ist set to 0 or 1 one is allowed to add these repos or not.
I voted pro. IMHO the Softwaremanager should warn loudly when adding a repo for a different openSUSE version than the one installed. Not just for newbies, also good for people who manage multiple versions.
I would approve if not too much work for devs. As on my machine I have 12.2 but family is using 12.1 and I added a bunch of 12.2 repos by habit and I am lucky I noticed before damage was done.
Then I think you have arguments enough to vote for it. The devs will see after their own interests
YaST doesn’t even bring up community repos from different versions in it’s interface
If you are searching from software.opensuse.org also it shows the version of OS
Why do we need this feature ? You want to make it airtight or something ?
Community Repos in yast is what I would call more or less standard repos. These are added automatically correct to the version of openSUSE that is currently used. So there is no risk of adding an incorrect one.
You certainly are right, when you say that, when searching in OBS the version of openSUSE is explicitly mentioned. But there are a lot of users out there, who don´t know to carefully read which version related repo to add and according to that make the wrong choice.
And what happens if one searches a package for e.g. openSUSE 12.2 and it is not built for that OS version? Many users then simply add the repo for the wrong version of openSUSE to at least get the package installed, no matter what version it is.
To answer your question, if I want to make it airtight :
In default settings the answer is yes. But as I mentioned in my request there should be an option to disable this strict setting (but only in config file). This would make it much more difficult for newbies to change the behaviour and would be much more effective.
There are situations where installing another version’s repo solves the problem. Here’s an example:
Easy configuring conky with conkyconf
It took me a while to fix the package in the 12.2 repo (because another package was using the wrong version of a library under 12.2 - the issue has been discussed and solved in this thread: conky 1.9.0 on 12.2 - can not package conky-devel OR crashes to segfault).
To allow advanced users to use these repos one could add an option where this flag can be changed.
For example a parameter called allow_blacklist. Whether the value of this parameter ist set to 0 or 1 one is allowed to add these repos or not.
Which means basically one more flag to deal with. I think that I already have enough work to do. Further you don’t need to add a previous version’s repo to screw up your system. This can also be achieved by blindly adding third party or users’ repos - as well as community repos.
Seriously, how many of you guys are going to add a 12.1 repo of a 12.2 system inadvertently? If it’s about reducing the effects of ‘One click install’, it would be more efficient to reject this concept and remove this “feature”
Not convinced it would really help, but not willing to deal with more flags and blacklists, I’d say no.
I think for your fix to work we may need to change repo structure as i don’t find any version info(refer below code). We may need a “version=” key in the .repo files .
[X11_Cinnamon_GNOME34] name=X11:Cinnamon:GNOME34 (12.2) type=rpm-md baseurl=http://download.opensuse.org/repositories/X11:/Cinnamon:/GNOME34/12.2/ gpgcheck=1 gpgkey=http://download.opensuse.org/repositories/X11:/Cinnamon:/GNOME34/12.2/repodata/repomd.xml.key enabled=1
Making new post as time has expired for previous post. We must put in a wiki/sdb or something stating that if one wants software from previous versions of openSUSE then they should download the relevant rpms and install them instead of pulling in entire repos which can cause lot of damage and link this wiki to software.opensuse.org page. We can add a bunch of don’t and don’t and link it to the OBs page and say please read this before downloading the “software or package” .