how to prevent package downgrade?

Peace, So squid 4.8 came out and i searched for it for open suse leap 42.3 and realized that it is not being supported anymore, so i thought of upgrading, but when executing:

sudo zypper dup --download-in-advance

it announces that it will downgrade squid to 3.5, how can i prevent the unneeded downgrade? what repository to add?

Your command is zypper dup, that means that it, when needed, upgrade to packages from other repositories then the where the present package is installed from. But as we have no idea which repositories you have enabled, it is very difficult to say anything.

Did you change e.g. your 42.3 repos to the equivalent of 15.1? Or anything else?

Please:

zypper lr -d
Repository priorities are without effect. All enabled repositories share the same priority.

#  | Alias                     | Name                                    | Enabled | GPG Check | Refresh | Priority | Type   | URI                                                                                    | Service
---+---------------------------+-----------------------------------------+---------+-----------+---------+----------+--------+----------------------------------------------------------------------------------------+--------
 1 | openSUSE-Leap-42.3-0      | openSUSE-Leap-42.3-0                    | Yes     | (r ) Yes  | No      |   99     | yast2  | cd:///?devices=/dev/disk/by-id/ata-VMware_Virtual_IDE_CDROM_Drive_10000000000000000001 |        
 2 | repo-debug                | openSUSE-Leap-42.3-Debug                | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/42.3/repo/oss/                    |        
 3 | repo-debug-non-oss        | openSUSE-Leap-42.3-Debug-Non-Oss        | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/42.3/repo/non-oss/                |        
 4 | repo-debug-update         | openSUSE-Leap-42.3-Update-Debug         | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/42.3/oss/                               |        
 5 | repo-debug-update-non-oss | openSUSE-Leap-42.3-Update-Debug-Non-Oss | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/42.3/non-oss/                           |        
 6 | repo-non-oss              | openSUSE-Leap-42.3-Non-Oss              | Yes     | (r ) Yes  | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/leap/42.3/repo/non-oss/                      |        
 7 | repo-oss                  | openSUSE-Leap-42.3-Oss                  | Yes     | (r ) Yes  | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/leap/42.3/repo/oss/                          |        
 8 | repo-source               | openSUSE-Leap-42.3-Source               | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/source/distribution/leap/42.3/repo/oss/                   |        
 9 | repo-source-non-oss       | openSUSE-Leap-42.3-Source-Non-Oss       | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/source/distribution/leap/42.3/repo/non-oss/               |        
10 | repo-update               | openSUSE-Leap-42.3-Update               | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/42.3/oss/                                     |        
11 | repo-update-non-oss       | openSUSE-Leap-42.3-Update-Non-Oss       | No      | ----      | ----    |   99     | rpm-md | http://download.opensuse.org/update/leap/42.3/non-oss/                                 |        
12 | server_proxy              | Proxy Servers (openSUSE_Leap_42.3)      | No      | ----      | ----    |   99     | rpm-md | http://download.opensuse.org/repositories/server:/proxy/openSUSE_Leap_42.3/            |        


Because of end of support for Leap 42.3 some Repos will not be there anymore but you have installed software from it…

So post:

zypper se -s squid

Best choice for you is to upgrade to Leap 15.1.

Well, #1 is the installation DVD, better disable that one. Having it enabled requires that it is mounted whenever you do any software management and you do not need it anymore after you have the on-line repos configured.

You have 42.3 repos ony, which is correct, but I have no idea why you think you would get a newer squid version then the one you already have. You will be up-to-date with the newest packages for 42.3 when you do (or better did on a regular base)

zypper up

(or equivalent like YaST > Online Update)
And when that gives you the version you have now (which you did not specify), that is then the highest version released for 42.3.

The downgrading I can not explain fully, but it might be the result of still having your installation media mounted.

Another thing is that I see that your non-OS Update repo #11 is disabled, that is strange, but you might have a reason for it.

zypper se -s squid
Loading repository data...
Reading installed packages...

S  | Name           | Type       | Version     | Arch   | Repository               
---+----------------+------------+-------------+--------+--------------------------
i+ | squid          | package    | 4.7-195.1   | x86_64 | (System Packages)        
v  | squid          | package    | 3.5.21-18.1 | x86_64 | openSUSE-Leap-42.3-Update
v  | squid          | package    | 3.5.21-15.1 | x86_64 | openSUSE-Leap-42.3-Update
v  | squid          | package    | 3.5.21-12.1 | x86_64 | openSUSE-Leap-42.3-Update
v  | squid          | package    | 3.5.21-8.1  | x86_64 | openSUSE-Leap-42.3-Update
v  | squid          | package    | 3.5.21-6.4  | x86_64 | openSUSE-Leap-42.3-Oss   
v  | squid          | package    | 3.5.21-6.4  | x86_64 | openSUSE-Leap-42.3-0     
   | squid          | srcpackage | 3.5.21-18.1 | noarch | openSUSE-Leap-42.3-Update
   | squid          | srcpackage | 3.5.21-15.1 | noarch | openSUSE-Leap-42.3-Update
   | squid          | srcpackage | 3.5.21-12.1 | noarch | openSUSE-Leap-42.3-Update
   | squid          | srcpackage | 3.5.21-8.1  | noarch | openSUSE-Leap-42.3-Update
   | squidGuard     | package    | 1.4-11.1    | x86_64 | openSUSE-Leap-42.3-Update
   | squidGuard     | package    | 1.4-8.1     | x86_64 | openSUSE-Leap-42.3-Update
   | squidGuard     | package    | 1.4-6.1     | x86_64 | openSUSE-Leap-42.3-Oss   
   | squidGuard     | package    | 1.4-6.1     | x86_64 | openSUSE-Leap-42.3-0     
   | squidGuard     | srcpackage | 1.4-11.1    | noarch | openSUSE-Leap-42.3-Update
   | squidGuard     | srcpackage | 1.4-8.1     | noarch | openSUSE-Leap-42.3-Update
   | squidGuard-doc | package    | 1.4-11.1    | x86_64 | openSUSE-Leap-42.3-Update
   | squidGuard-doc | package    | 1.4-8.1     | x86_64 | openSUSE-Leap-42.3-Update
   | squidGuard-doc | package    | 1.4-6.1     | x86_64 | openSUSE-Leap-42.3-Oss   
   | squidview      | package    | 0.86-8.1    | x86_64 | openSUSE-Leap-42.3-Update
   | squidview      | package    | 0.81-6.1    | x86_64 | openSUSE-Leap-42.3-Oss   
   | squidview      | srcpackage | 0.86-8.1    | noarch | openSUSE-Leap-42.3-Update
   | yast2-squid    | package    | 3.1.5-3.2   | x86_64 | openSUSE-Leap-42.3-Oss   
   | yast2-squid    | package    | 3.1.5-3.2   | x86_64 | openSUSE-Leap-42.3-0

whenever a new squid version comes out, i used to download the rpm from the open suse site and do something like rpm -IUV squid… the repo has been disabled because when i did a zypper refresh, it nagged that one repository is something like not available, disable it permanently? so i answer yes… so where do i go on from here?

Well, that explains a lot I would say. You down load from somewhere (apart from the vague “the open suse site”, I have no idea from where or what), instead of using the repos of your version of openSUSE.
That might work, but it might as well not work. And it is of course not amazing that when you then try to install from the repo, it will use what is on the repo and not something from somewhere unknown.

I see two possiblities here:

  • Either you try to find some RPM somewhwre (maybe on a 15.1 repo?) and continue on the way you walked until now (but 42.3 is now a dead end in any case);
  • Or you upgrade to 15.1 and use the standard release from then on, simply using what is offered in the repos of 15.1.

When you have a problem, the best thing is to try to resolve that problem, not ignoring that it exists. But that is my very personal opinion. In any case, that is too late now. The 42.3 repositories will vanish one by one (or all together) in due time.

well and what is the repo version of squid on 15.1?

That is something you can find out easily yourself:Search

It looks like 4.4. and on Tumbleweed 4.7.

I hope you understand that while it is 4.4 on Leap 15.1, it will get security updates backported. The version 4.4 will not change then, only the build number will.

BTW, what is the reason you want 4.8? The only thing I can detect from your post #1 is that it “came out”. Not a reason per sé IMHO. are there new features you need?

the repo has been disabled because when i did a zypper refresh, it nagged that one repository is something like not available, disable it permanently? so i answer yes… so where do i go on from here?

Because of end of support for Leap 42.3 some Repos will not be there anymore

There is no Leap 42.3 Repo there anymore:
http://download.opensuse.org/repositories/server:/proxy/