-
Notifications
You must be signed in to change notification settings - Fork 285
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Same package in two repos #941
Comments
It's not advised to add the patches repo, 0setup treats that repo as the ubuntu updates. I noticed slacko has too few packages, so i have this:
There are duplicates, and the best way to deal with this is just by taking the first result only. The last changes in 1download fixes that script for this. I know the ppm misbehaves so I guess this can go to rationalise before it gets lost. The first thing to do is get rid of specific classic ppm stuff. Then try to rationalise the rest. This takes time, there's a lot of things to do in puppy, and it's clear that there's a just a couple of cats doing everything, in that case i would prefer to shape puppy according to my vision, and that's closer to lxpup but more lightweight |
Yeah but they shouldn't! There is no good reason to have the same package in 2 repos or the same name in different packages. There is really no point for a package manager to try to guess which one is the "good one" or arbitrarily pick one. I think the best would be to throw a warning and maybe suggest a manual download/install. |
Sorry - don't understand this..... the patches repo does have updated packages..... |
According to this code the salckware patches repo is integrated into the "official". |
Well I never.... |
I think the repo order in PKG_DOCS_DISTRO_COMPAT should define the search priority. 1st result = stop and continue.. |
Hmm i read billtoo still has the same problems. by the way, if you did a new build. you should announce that now a puppy with initrd.gz can can mount and boot from exFAT partitions. it can also properly fsck vfat/msdos partitions, specially useful when booting from fat32 partitions (after improper shutdown or pfix=fsckp).. since commit 859e3bd |
Hmm, ih you look carefully at Biiltoo's image You can see that "patches" reappears after a db update. So it is merged into official and is also a standalone file. Thus all the duplicate files. Should be deleted after the merging. |
I opened puppy_LxPupSc_17.01.24.sfs -> DISTRO_COMPAT_REPOS and see this:
You have to remove the patches repo
just remove all lines containing 'patches'... and build again
|
i can't download the pkg dbs. salix.enialis.net is throwing error 502 and it shows here Will change to nluug for the pkg dbs and will add more mirrors... after that peebee might want to just copy the file and add his custom stuff.. |
@peabee You may also want to remove Packages-slackware-current-lxpup since it just has a lot of the same packages and after a db update will mess up ppm again. If you want to keep current-lxpup then remove entries present in official/patches |
@peabee I just dit a |
There is a conflict between current and 14.2... both are the same base. If you're building a slackware current puppy then you must remove any references to 14.2 in DISTRO_COMPAT_REPOS. In the end i think sticking with 14.2 with pet repo updates might be the best solution, just by including pcmanfm as the default desktop app and file manager, it's an improvement over any other woofce pup. That in itself is an accomplishment, just saying... |
Going back to first principles..... I can delete dbs from the initial build but if they're mentioned in DISTRO_COMPAT_REPOS then they will reappear during a PPM DB update.....not sure what to do about this - maybe I have to replace DISTRO_COMPAT_REPOS at the end of the build? |
You can't replace that file at the end, but i think you can do it after running 1download. The salix extra repo (14.2) has xfce, lxde and other goodies (mpv and other apps). But pcmanfm is missing. how ridiculous is that. You could use the standard repos and the compat repos file i'll update... and adding pcmanfm pet pkg (from ponce i486) or lxde pet with updates.. 14.2 and basically you will be happier... By following the same rules you could release both i686 and x86_64 lxpup at the same time.. |
ok, you can use these files to produce your compat_repos file for slackware current with your exotic choices.. after 1 download is finished or (2createpackages)
(your distro_compat_repos file for users must not have the |
What about if we have a RUNTIME_IGNORE_REPOS file that the download_compat_pgk_dbs function will consult to prohibit dbs used for build to be update during runtime. Having said that, I still think is strange to have the same packages in more that one DB and try to circumvent ways around it. Venting out duplicates with something similar as above after the db formation maybe another option though there you need to prioritise DBs and do it for all the DBs. |
Well i guess for debian-based puppies there's nothing to worry about as there are complete desktops and thousands of packages, but for slackware-based puppies the situation is precarious so to get something acceptable OOTB, this is the way to go: 14.2 current:� (14.2) There are a few duplicated pkgs, and the order should define the search priority and in fact slackware is a subset of salix and ponce is compatible with both, so taking only the 1st result makes sense (very much like support/findpkgs). I don't understand slackware or salix, there are slackbuilds for many things, at least salix should use them to expand its extra repo. Unless we implement advanced repo handling, this makes sense, at least for slacko. There are major issues with the ppm that require a major rewrite as outlined by starhawk64 and technosaurus, but that is another issue.. |
There's a similar issue in dpups using the deb-multimedia repo (it wasn't working before but i fixed the urls) deb-multimedia has extra apps such as deadbeef (i also have a script that automatically downloads and installs the latest deadbeef git builds), ripmake, aacgain, cutmp3... but also adds many duplicate pkgs. |
PPM is trying to stay with the same repo as possible. So when you pick a package from a repo usually works ok. The problem is when you search for a package and multiple packages with the same name/version come up. |
Well billtoo reports errors, and i know why. The salix repo is not enabled. I guess the extra repo takes precedence. This is not right (3builddistro-Z), but even so, the salix repo should be enabled anyway. i see this in PKGS_MANAGEMENT
2 variables, looks like it was manually edited or something, the second one is missing 'Packages-slackware-14.2-salix' This is what i get when i run that code (not building a slacko) with slacko configs after running 0setup
Everything is correct: extra, official, salix. But the correct order should be official, salix, extra. I think i'll change the repo name to salix_extra Well, my advice is that you use dpup stretch, it's already enabled for lxpup as, but i need to repackage eudev and pup-volume-monitor, and basically if using lxde, it makes more to use xarchiver, engrampa or file-roller (the latter ones provide a winzip, winrar experience to the user, it's a win-win situation). pupzip gives preference to any of those 3 over xarchive, plus pcmanfm recognizes any of the 3 and creates a new menu item: Compress... |
The 2nd PKG_REPOS_ENABLED line is added in by extra-code in 00build.conf....
Not sure what you mean by this..... |
I see both repos are quite different, it might duplicate some apps, don't know, but they're quite different. In fact i think salix is basically an extension of slackware, which means: official + patches = original (1330) after that when you add ponce, almost all lxde apps are duplicated but pcmanfm and file-roller (the most important apps) |
hmm forget about salix_extra, i reverted that commit. it's just -extra. for slackware current you might not want to use salix.. but who knows. |
Here is a (woof) patch (against 4365fe9 ) that handles cases where the same package is present in multiple repos
|
One more patch that takes care of the same dependencies present in multiple repos trying to get all the dependencies from the same repo as the installed package.
One remaining issue here is when another repo has a different version of the said package. We could add some version comparison and download if newer (trusting that the builder will not include incompatible repos) or just go with the package name and ignore packages in other repos regardless of version. |
The dependency must be in the repo which the package is installed from, to be eliminated in the others. So if is not there nothing gets eliminated from anywhere. |
0setup could also remove duplicates at the end. There's also the slacky repos. They have a few pkgs for 14.2, more pkgs for 14.1, many packages for 14.0 and so on, even more pkgs for 13.37 and so on.. |
Sure you can have 0setup or another script to eliminate duplicates but even there you must be sure that deps are the same in the 2 (3, 4,5) repos and that the packages are build the same way in the different repos before you decide which way to go. |
I certainly wouldn't, but repos belonging to a specific distro version should all be compatible, that's the idea. But some "extra" repos do have duplicates, i.e: debian multimedia.. |
patches is already integrated into official faster processing might be of interest to @peabee
Slackware builds have "official" as well as "patches" or "current" repos and strangely enough the (apparently) different packages have the same name and version number! This should not be happening but it does...
PPM can not handle that, particularly when we search for a package and 2-3 identically named packages are present in the results. Currently if you click in any of these, all of them are set to be installed! (test case on any slack-based puppy that has the slackware "patches" repo search in PPM for a package present in that repo)
To solve this issue when clicking on a package we should be passing in the
$TREE1
variable not only the package name but also the repo. Hopefully @zigbert or somebody may look at the gtkdialog part of this.In the mean time I got an ugly hack that tries to work around the issue but is too ugly (and wrong in its core) to commit. I'll just put it here for desperate people 😛
The text was updated successfully, but these errors were encountered: