Hello,
We have the same IoT use case as xaoc. We need to freeze the mirror because we build several of our own packages that we maintain in a separate repo. Periodically as the main repos update the dependencies for our packages get broken. Consequently, we created a local copy of the mirror that we refresh quarterly. We refresh, test our packages, and make updates as needed to to fix dependency issues that arose from the refresh.
We created our local mirror using lftp, however, there seems to be some strange issues. For example, if we try to install opencv using
pacman -S opencv it cannot resolve all the dependencies of opencv (xproto is example dependency).
Mirror Script:
#!/usr/bin/lftp -f
lcd /var/arch/mirror
open
http://mirror.archlinuxarm.orgmirror -cve
Attempt to install opencv:
[root@b827eba5df87 ~]# pacman -S opencv
resolving dependencies...
warning: cannot resolve "xproto", a dependency of "libxdmcp"
warning: cannot resolve "libxdmcp", a dependency of "libxcb"
warning: cannot resolve "xproto>=7.0.18", a dependency of "libxau"
warning: cannot resolve "libxau", a dependency of "libxcb"
warning: cannot resolve "libxcb", a dependency of "libx11"
warning: cannot resolve "xproto", a dependency of "libx11"
warning: cannot resolve "libx11", a dependency of "libxext"
warning: cannot resolve "libxext", a dependency of "libxv"
warning: cannot resolve "libxv", a dependency of "libxvmc"
warning: cannot resolve "libxvmc", a dependency of "xine-lib"
warning: cannot resolve "zita-alsa-pcmi", a dependency of "jack"
warning: cannot resolve "zita-resampler", a dependency of "jack"
warning: cannot resolve "jack", a dependency of "ffmpeg"
warning: cannot resolve "xproto", a dependency of "libxdmcp"
warning: cannot resolve "libxdmcp", a dependency of "libxcb"
warning: cannot resolve "xproto>=7.0.18", a dependency of "libxau"
warning: cannot resolve "libxau", a dependency of "libxcb"
warning: cannot resolve "libxcb", a dependency of "libx11"
warning: cannot resolve "xproto", a dependency of "libx11"
warning: cannot resolve "libx11", a dependency of "libxext"
warning: cannot resolve "libxext", a dependency of "libxtst"
warning: cannot resolve "xproto", a dependency of "libxdmcp"
warning: cannot resolve "libxdmcp", a dependency of "libxcb"
warning: cannot resolve "xproto>=7.0.18", a dependency of "libxau"
warning: cannot resolve "libxau", a dependency of "libxcb"
warning: cannot resolve "libxcb", a dependency of "libx11"
warning: cannot resolve "xproto", a dependency of "libx11"
warning: cannot resolve "libx11", a dependency of "libxext"
warning: cannot resolve "libxext", a dependency of "libxi"
warning: cannot resolve "libxi", a dependency of "libxtst"
warning: cannot resolve "xproto", a dependency of "libxdmcp"
warning: cannot resolve "libxdmcp", a dependency of "libxcb"
warning: cannot resolve "xproto>=7.0.18", a dependency of "libxau"
warning: cannot resolve "libxau", a dependency of "libxcb"
warning: cannot resolve "libxcb", a dependency of "libx11"
warning: cannot resolve "xproto", a dependency of "libx11"
warning: cannot resolve "libx11", a dependency of "libxfixes"
warning: cannot resolve "xproto", a dependency of "fixesproto"
warning: cannot resolve "fixesproto>=5.0", a dependency of "libxfixes"
warning: cannot resolve "libxfixes", a dependency of "libxtst"
warning: cannot resolve "libxtst", a dependency of "libpulse"
warning: cannot resolve "xproto>=7.0.18", a dependency of "libice"
warning: cannot resolve "libice", a dependency of "libsm"
warning: cannot resolve "libsm", a dependency of "libpulse"
warning: cannot resolve "libpulse", a dependency of "ffmpeg"
:: There are 5 providers available for libgl:
:: Repository extra
1) libglvnd
:: Repository alarm
2) imx-gpu-viv-dfb 3) imx-gpu-viv-fb 4) imx-gpu-viv-wl 5) imx-gpu-viv-x11
Enter a number (default=1): ^C
- Select option 1 does nothing and you can stuck in a dependency loop.
However, if we browse through the files on our local mirror all the dependencies are there. In fact, I download the dependencies via curl and installed them using
pacman -U. I can resolve all dependencies that way and then install opencv using
pacman -S opencv.
It seems as if the *.db files are out of sync with the files we sync'd from the mirror possibly. I also downloaded some of *.db.tar.gz files and untar'd them. From what I can see, they do have references to the dependencies (xproto) in there. So, again, I'm confused why pacman cannot resolve the dependency.
Any thoughts why pacman isn't finding the dependencies in our local mirror even though they appear to be there?
Thanks,
Eric