Re: Upgrade of current pkgsrc fails due to gtk3 on 10.99
On 4/16/24 21:54, Riccardo Mottola wrote: Then I went up and tried to remove these py39 packages.. and up to the tree... I was able to remove them all! No non-python package depended on them up to python39 removal. I did the same for python 3.10 and 3.8 stuff, so I end up with py2.7 and py3.11 which is fine! I hope I really didn't break anything. I wonder if this is automated by your steps above? I thought pkg_rolling-replace -uv would take care of it. pkg_rr doesn't, but pkgrrxx(8) from pkgtools/pkgchkxx does something better in that regard. Suppose you have installed py39-tomli-2.0.0 and py310-tomli-2.0.0 but you haven't installed py311-tomli-2.0.0, and the pkgsrc tree was updated to py-tomli-2.0.1nb1. In this case "pkgrrxx -u" marks both py39-tomli and py310-tomli as MISMATCH_TODO and attempts to rebuild both of them. On the other hand it doesn't try to update py311-tomli because it wasn't installed in the first place.
Re: Upgrade of current pkgsrc fails due to gtk3 on 10.99
Riccardo Mottola writes: > should I unkeep all stuff I don't know, including dependencies? > sometimes packages are important, but unknown since dependencies. > Python is an extreme example: I don't want it (except 2.7 core I need > to build certain things) but it is pulled in as dependency and all its > modules too.. from various software, where maybe it is not even a core > thing. 'keep' is about a package being actively desired. "pkgin ar" will remove packages if a) they are not actively desired and b) they are not a dependency of some package that is being kept. So if you don't actually want it, uk it. If it's needed because of something you do want, it will stay. I probably should have python311 marked keep on a few systems because I run scripts outside of pkgsrc, but I have e.g. py311-paho-mqtt marked keep (because the script uses that) so I don't mark python. > I installed pkgin, I don't have it since I am using current, there is > no repository. I understand that for the operation above no repo is > needed though. Correct; it doesn't need one. However you can make one by creating a summary file from the binary packages you have created (since of course you keep them :) # regenerate for pkgin pkgsum () { ls *gz | xargs pkg_info -X | bzip2 > pkg_summary.bz2; } > # pkgin sk > processing remote summary > (https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/x86_64/10.99.10/All)... > pkgin: Could not fetch > https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/x86_64/10.99.10/All/pkg_summary.gz: > Not Found > > Do you suggest just pointing it to 10.0 repo to silence it? I don't > want to mix current with binaries. No, I suggest making a summary file from your own packages and pointing to that. Either that or ignoring the warning, or configuring no repo at all and see how that goes. > I went for another route. I tried pkg_delete. I hope this one keeps > correctly track of dependencies with versions! It seems to. > > pkg_delete py39-tomli-2.0.1nb1 > Package `py39-tomli-2.0.1nb1' is still required by other packages: > py39-pyproject_hooks-1.0.0nb1 > py39-build-1.2.1 > py39-setuptools_scm-8.0.4 > py39-hatchling-1.22.5 > > Then I went up and tried to remove these py39 packages.. and up to the > tree... I was able to remove them all! No non-python package depended > on them up to python39 removal. I did the same for python 3.10 and 3.8 > stuff, so I end up with py2.7 and py3.11 which is fine! If you have done uk, and then ar, this probably would have happened. > I hope I really didn't break anything. > I wonder if this is automated by your steps above? I thought > pkg_rolling-replace -uv would take care of it. No, pkg_rr does not have any code to deal with multi-version. > yay :) However lintpksgrc is less happy: > > Scan Makefiles: 19598 packages > Version mismatch: 'py-cairo' 1.18.2nb6 vs 1.26.0nb1 > Unknown package: 'py-gobject' version 2.28.7nb5 > Unknown package: 'py-gtk2' version 2.24.0nb48 > Version mismatch: 'py-setuptools' 44.1.1nb1 vs 69.5.1 > > again here I think the multi-version is what bites me: > > # pkg_info | grep setuptools > py27-setuptools-44.1.1nb1 New Python packaging system (python 2.x version) > py311-setuptools-69.5.1 New Python packaging system yes, more hacking is needed to really fix all this. I am just pointing out that uk/ar hygiene avoids a lot of grief.
Re: Upgrade of current pkgsrc fails due to gtk3 on 10.99
Hi, maybe pkg_chck should understand multi-version one day... it is becoming a common disease for python, perl... but also other packages. Greg Troxel wrote: Yes, all flowing from python's lack of API compat. This may not help, but I recommmend: pkgin sk pkgin uk foo # for any kept foo that you don't actually want pkgin ar which gets rid of a lot of stuff that you don't need -- and don't need to rebuild. should I unkeep all stuff I don't know, including dependencies? sometimes packages are important, but unknown since dependencies. Python is an extreme example: I don't want it (except 2.7 core I need to build certain things) but it is pulled in as dependency and all its modules too.. from various software, where maybe it is not even a core thing. I installed pkgin, I don't have it since I am using current, there is no repository. I understand that for the operation above no repo is needed though. # pkgin sk processing remote summary (https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/x86_64/10.99.10/All)... pkgin: Could not fetch https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/x86_64/10.99.10/All/pkg_summary.gz: Not Found Do you suggest just pointing it to 10.0 repo to silence it? I don't want to mix current with binaries. After that, if you have py310-foo, then make PYTHON_VERSION_REQD=310 replace in foo (or something very close to that as I haven't done this in months). I will try this... next time! I went for another route. I tried pkg_delete. I hope this one keeps correctly track of dependencies with versions! It seems to. pkg_delete py39-tomli-2.0.1nb1 Package `py39-tomli-2.0.1nb1' is still required by other packages: py39-pyproject_hooks-1.0.0nb1 py39-build-1.2.1 py39-setuptools_scm-8.0.4 py39-hatchling-1.22.5 Then I went up and tried to remove these py39 packages.. and up to the tree... I was able to remove them all! No non-python package depended on them up to python39 removal. I did the same for python 3.10 and 3.8 stuff, so I end up with py2.7 and py3.11 which is fine! I hope I really didn't break anything. I wonder if this is automated by your steps above? I thought pkg_rolling-replace -uv would take care of it. Now p_rr tells me RR> No more packages to replace; done. yay :) However lintpksgrc is less happy: Scan Makefiles: 19598 packages Version mismatch: 'py-cairo' 1.18.2nb6 vs 1.26.0nb1 Unknown package: 'py-gobject' version 2.28.7nb5 Unknown package: 'py-gtk2' version 2.24.0nb48 Version mismatch: 'py-setuptools' 44.1.1nb1 vs 69.5.1 again here I think the multi-version is what bites me: # pkg_info | grep setuptools py27-setuptools-44.1.1nb1 New Python packaging system (python 2.x version) py311-setuptools-69.5.1 New Python packaging system Riccardo
Re: Upgrade of current pkgsrc fails due to gtk3 on 10.99
Riccardo Mottola writes: > *** pkg_chk reports the following packages need replacing, but they > are not installed: py311-tomli > *** Please read the errors listed above, fix the problem, > *** then re-run pkg_rolling-replace to continue. > # pkg_info | grep tomli > py310-tomli-2.0.1nb1 Lil' TOML parser > py39-tomli-2.0.1nb1 Lil' TOML parser This is pkg_rr inheriting pkg_chk's lack of grasping multi-version packages. > Does pkg_rr has a "cache" or is it fresh calculated information? There is no pkg_rr cache but rebuild, unsafe_depends and mismatch are stored as package variables. > Again python modules pain :) Yes, all flowing from python's lack of API compat. This may not help, but I recommmend: pkgin sk pkgin uk foo # for any kept foo that you don't actually want pkgin ar which gets rid of a lot of stuff that you don't need -- and don't need to rebuild. After that, if you have py310-foo, then make PYTHON_VERSION_REQD=310 replace in foo (or something very close to that as I haven't done this in months).
Re: Upgrade of current pkgsrc fails due to gtk3 on 10.99
On Mon 15 Apr 2024 at 17:19:14 +0200, Riccardo Mottola wrote: > Does pkg_rr has a "cache" or is it fresh calculated information? It has a sort of cache, as hinted at by this: > rr> WARNING: mismatch variable not set due to permissions; > rr> mismatch status will not persist. where (if allowed) it sets a "mismatch" variable in the pkgdb on packages that are reported as mismatches. So the next time you don't need to run pkg_chk (the -u option) again. If the package gets deleted for some reason, the flag is deleted with it. So this would not explain your case, I think. > Riccardo -Olaf. -- ___ Olaf 'Rhialto' Seibert \X/ There is no AI. There is just someone else's work. --I. Rose signature.asc Description: PGP signature
Re: Upgrade of current pkgsrc fails due to gtk3 on 10.99
Hi Greg, once gtk3 was sorted out, pkg_rr completed. Yay. Then I did re-run it, to check, and I see this: RR> Checking for mismatched installed packages using pkg_chk rr> Installed: py311-tomli-2.0.1nb1 py311-tomli-2.0.1nb1 rr> WARNING: mismatch variable not set due to permissions; rr> mismatch status will not persist. RR> Excluding the following mismatched packages: rr> EXCLUDE=[] RR> Checking for rebuild-requested installed packages (rebuild=YES) RR> Checking for unsafe installed packages (unsafe_depends=YES) RR> Packages to rebuild: rr> MISMATCH_TODO=[py311-tomli] rr> REBUILD_TODO=[] rr> UNSAFE_TODO=[] RR> Building dependency graph for installed packages RR> Tsorting dependency graph *** pkg_chk reports the following packages need replacing, but they are not installed: py311-tomli *** Please read the errors listed above, fix the problem, *** then re-run pkg_rolling-replace to continue. possibly the package was installed but I removed it? Or is it getting confused between 3.10 and 3.11 Python versions: I have: # pkg_info | grep tomli py310-tomli-2.0.1nb1 Lil' TOML parser py39-tomli-2.0.1nb1 Lil' TOML parser Does pkg_rr has a "cache" or is it fresh calculated information? Again python modules pain :) Riccardo
Re: Upgrade of current pkgsrc fails due to gtk3 on 10.99
Hi Greg, Greg Troxel wrote: gtk3 is buggy. It tries to link against installed libs during the build, instead of only the libs being built. I did pkg_delete -f gtk3+ and then it builds fine. Actually fixing this is harder; you'll have to find where gtk3+'s build manages to have /usr/pkg/lib in the search path first. This sort of thing is gradually getting better, but it's hard. And, people that only pbulk don't hit it, so the set of motivated people is smaller. However, it will probably only take one person who is both motivated and has a round tuit to fix this. thanks for the tip... didn't thought of it, I was seeking for existing broken libraries, while the broken library was gtk3 itself. I too did pkg_delete -f gtk3+, then manually make_replace fails, because it is not installed. I used make_install and then: sudo pkg_admin set automatic=YES gtk3+-3.24.41nb2 I suppose that should be equivalent to make_replace of a dependency package. Now... let's restart pkg_rr and see where it goes! Riccardo
Re: Upgrade of current pkgsrc fails due to gtk3 on 10.99
Riccardo Mottola writes: > I am running 10.99.10 and updated pkgsrc and want to upgrade with > pkg_rolling-replace > > gtk3 fails with the error below. This is about 'make replace', not pkg_rr. > I see the issue on freetype, which is a little scary. > The blocking problem whough is that libgdk-3 has undefined reference > to X symbols! gtk3 is buggy. It tries to link against installed libs during the build, instead of only the libs being built. I did pkg_delete -f gtk3+ and then it builds fine. Actually fixing this is harder; you'll have to find where gtk3+'s build manages to have /usr/pkg/lib in the search path first. This sort of thing is gradually getting better, but it's hard. And, people that only pbulk don't hit it, so the set of motivated people is smaller. However, it will probably only take one person who is both motivated and has a round tuit to fix this.
Upgrade of current pkgsrc fails due to gtk3 on 10.99
Hi, I am running 10.99.10 and updated pkgsrc and want to upgrade with pkg_rolling-replace gtk3 fails with the error below. I see the issue on freetype, which is a little scary. The blocking problem whough is that libgdk-3 has undefined reference to X symbols! A check: $ ls -l /usr/pkg/lib/libgdk-3.so.0 lrwxr-xr-x 1 root wheel 21 Mar 21 00:24 /usr/pkg/lib/libgdk-3.so.0 -> libgdk-3.so.0.2409.32 shows that it is quite an old compiled library, so it has not been processed by pkg_rolling-replace. However, lintpkgsrc doesn't show gdk or similar to be outdated: Ideas? Riccardo --- [25/908] Generating gtk/Gtk-3.0.gir with a custom command (wrapped by meson to set env) FAILED: gtk/Gtk-3.0.gir env PKG_CONFIG_PATH=/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/output/meson-uninstalled PKG_CONFIG=/usr/pkgsrc/x11/gtk3/work/.tools/bin/pkg-config CC=gcc /usr/pkg/bin/g-ir-scanner --quiet --no-libtool --namespace=Gtk --nsversion=3.0 --warn-all --output gtk/Gtk-3.0.gir --c-include=gtk/gtk.h --quiet -DGTK_COMPILATION --c-include=gtk/gtk-a11y.h --c-include=gtk/gtkx.h -I/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/gtk -I/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/output/gtk -I/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/. -I/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/output/. -I/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/gdk/. -I/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/output/gdk/. -I/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/gtk -I/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/output/gtk -I/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/gdk/x11 -I/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/output/gdk/x11 -I/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/gdk/. -I/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/output/gdk/. --filelist=/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/output/gtk/libgtk-3.so.0.2409.32.p/Gtk_3.0_gir_filelist --include-uninstalled=gdk/Gdk-3.0.gir --include=Atk-1.0 --include=xlib-2.0 --symbol-prefix=gtk --identifier-prefix=Gtk --pkg-export=gtk+-3.0 --cflags-begin -DG_LOG_USE_STRUCTURED=1 -DGLIB_MIN_REQUIRED_VERSION=GLIB_VERSION_2_56 -DGLIB_MAX_ALLOWED_VERSION=GLIB_VERSION_2_58 '-DGTK_VERSION="3.24.41"' -D_GNU_SOURCE -I/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/. -I/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/output/. -I/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/gdk/. -I/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/output/gdk/. -I/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/gtk -I/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/output/gtk -I/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/gdk/x11 -I/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/output/gdk/x11 -I/usr/pkg/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/include/pango-1.0 -I/usr/pkg/include/cairo -I/usr/X11R7/include -I/usr/X11R7/include/pixman-1 -I/usr/pkg/include/fribidi -D_REENTRANT -I/usr/pkg/include/harfbuzz -I/usr/pkg/include/freetype2 -I/usr/pkg/include/libpng16 -I/usr/pkg/include/gdk-pixbuf-2.0 -I/usr/pkg/include/atk-1.0 -I/usr/X11R7/include/libdrm -I/usr/pkg/include/at-spi2-atk/2.0 -I/usr/pkg/include/at-spi-2.0 -I/usr/pkg/include/dbus-1.0 -I/usr/pkg/lib/dbus-1.0/include -I/usr/pkg/include/gobject-introspection-1.0 -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/include/krb5 -I/usr/X11R7/include -I/usr/pkg/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/X11R7/include/libdrm -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/include/krb5 -I/usr/X11R7/include -I/usr/pkg/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/X11R7/include/libdrm --cflags-end --add-include-path=/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/output/gdk --add-include-path=/usr/pkg/share/gir-1.0 --add-include-path=/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/output/gdk -L/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/output/gtk --library gtk-3 -L/usr/pkgsrc/x11/gtk3/work/gtk+-3.24.41/output/gdk -L/usr/pkg/lib -L/usr/lib -L/usr/X11R7/lib -L/usr/pkg/lib --extra-library=gmodule-2.0 --extra-library=glib-2.0 --extra-library=intl --extra-library=gobject-2.0 --extra-library=gio-2.0 --extra-library=pangocairo-1.0 --extra-library=pango-1.0 --extra-library=harfbuzz --extra-library=cairo --extra-library=pangoft2-1.0 --extra-library=freetype -L/usr/X11R7/lib --extra-library=fontconfig --extra-library=fribidi --extra-library=cairo-gobject --extra-library=gdk_pixbuf-2.0 --extra-library=atk-1.0 --extra-library=epoxy --extra-library=m --extra-library=Xi --extra-library=X11 --extra-library=atk-bridge-2.0 --extra-library=rt --extra-library=xkbcommon --extra-library=wayland-client --extra-library=wayland-cursor --extra-library=wayland-egl --extra-library=Xrender --extra-library=Xext --extra-library=Xcursor --extra-library=Xdamage --extra-library=Xfixes --extra-library=Xcomposite --extra-library=Xrandr --extra-library=Xinerama --extra-library=girepository-1.0 --sources-top-dirs