rpm-software-management / mock

Mock is a tool for a reproducible build of RPM packages.
GNU General Public License v2.0
381 stars 227 forks source link

CentOS Stream 8 went EOL and moved to vault #1378

Closed andykimpe closed 3 months ago

andykimpe commented 4 months ago

for solve use baseurl

INFO: mock.py version 5.6 starting (python version = 3.12.3, NVR = mock-5.6-1.fc39), args: /usr/libexec/mock/mock -r centos-stream+epel-next-8-x86_64 --init
Start(bootstrap): init plugins
INFO: selinux disabled
Finish(bootstrap): init plugins
Start: init plugins
INFO: selinux disabled
Finish: init plugins
INFO: Signal handler active
Start: run
Start: clean chroot
Finish: clean chroot
Mock Version: 5.6
INFO: Mock Version: 5.6
Start(bootstrap): chroot init
INFO: calling preinit hooks
INFO: enabled root cache
INFO: enabled package manager cache
Start(bootstrap): cleaning package manager metadata
Finish(bootstrap): cleaning package manager metadata
INFO: Guessed host environment type: unknown
INFO: Using bootstrap image: quay.io/centos/centos:stream8
INFO: Pulling image: quay.io/centos/centos:stream8
INFO: Copy content of container quay.io/centos/centos:stream8 to /var/lib/mock/centos-stream+epel-next-8-x86_64-bootstrap/root
INFO: Checking that quay.io/centos/centos:stream8 image matches host's architecture
INFO: mounting quay.io/centos/centos:stream8 with podman image mount
INFO: image quay.io/centos/centos:stream8 as /var/lib/containers/storage/overlay/6ee281da9ae87eca8f44934d7773323021901ceb8f56a5ec52edbbdaa1d5de23/merged
INFO: umounting image quay.io/centos/centos:stream8 (/var/lib/containers/storage/overlay/6ee281da9ae87eca8f44934d7773323021901ceb8f56a5ec52edbbdaa1d5de23/merged) with podman image umount
INFO: Package manager dnf detected and used (fallback)
INFO: Bootstrap image not marked ready
Start(bootstrap): installing dnf tooling
No matches found for the following disable plugin patterns: local, spacewalk, versionlock
CentOS Stream 8 - BaseOS                         95  B/s |  38  B     00:00    
Error: Failed to download metadata for repo 'baseos': Cannot prepare internal mirrorlist: No URLs in mirrorlist
ERROR: Command failed: 
 # /usr/bin/systemd-nspawn -q -M dac8fa49d5af4f79b5b8413e0e77fb11 -D /var/lib/mock/centos-stream+epel-next-8-x86_64-bootstrap/root -a --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/var/lib/mock/centos-stream+epel-next-8-x86_64-bootstrap/root/installation-homedir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin '--setenv=PROMPT_COMMAND=printf "\033]0;<mock-chroot>\007"' '--setenv=PS1=<mock-chroot> \s-\v\$ ' --setenv=LANG=C.UTF-8 --setenv=LC_MESSAGES=C.UTF-8 --resolv-conf=off /usr/bin/dnf-3 --releasever 8 --setopt=deltarpm=False --setopt=allow_vendor_change=yes --allowerasing --disableplugin=local --disableplugin=spacewalk --disableplugin=versionlock install python3-dnf python3-dnf-plugins-core
No matches found for the following disable plugin patterns: local, spacewalk, versionlock
CentOS Stream 8 - BaseOS                         95  B/s |  38  B     00:00    
Error: Failed to download metadata for repo 'baseos': Cannot prepare internal mirrorlist: No URLs in mirrorlist
andykimpe commented 4 months ago

require Emergency packages mock-core-configs upgrade on the repository

praiskup commented 4 months ago

Thank you for the PR, but isn't this a bug on the CentOS side, that the mirrorlists are not working?

We use mirrorlist/metalink URLs as much as possible (by default) because otherwise, we'd "instructing" the Mock users to DDoS the particular mirror.

andykimpe commented 4 months ago

no I don't think it's a bug it's because centos stream 8 was declared eol on May 31, 2024 so they deactivated them I think

because the servers which list the mirrors are the same for all centos

centos stream 9 works and but centos stream 8 no longer works

but if it were up to me I would deactivate all the mirrors

on all configs and I would only use baseurl everywhere

it avoids problems there are always problems with mirrors

some are not even up to date and are up to 7 days late

compared to the official deposits

personally it bothers me because it prevents me from building on copr

I have packages that are not compatible with el9 and fedora

I would like to backup them in scl

k0ste commented 4 months ago

Fixes #1379

k0ste commented 4 months ago

Or not ...

√ ~ % curl -v -Ss http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/
* Host mirror.centos.org:80 was resolved.
* IPv6: (none)
* IPv4: 149.202.77.145
*   Trying 149.202.77.145:80...
* Connected to mirror.centos.org (149.202.77.145) port 80
> GET /centos/8-stream/BaseOS/x86_64/os/ HTTP/1.1
> Host: mirror.centos.org
> User-Agent: curl/8.6.0
> Accept: */*
>
< HTTP/1.1 404 Not Found
< Date: Mon, 03 Jun 2024 13:33:59 GMT
< Server: Apache/2.4.57 (Red Hat Enterprise Linux)
< X-Xss-Protection: 1; mode=block
< X-Content-Type-Options: nosniff
< Referrer-Policy: same-origin
< X-Frame-Options: SAMEORIGIN
< Last-Modified: Thu, 18 Apr 2024 10:02:53 GMT
< ETag: "1fa4-6165c131334e0"
< Accept-Ranges: bytes
< Content-Length: 8100
< Content-Type: text/html; charset=UTF-8
andykimpe commented 4 months ago

yes I just saw this just now I think they are moved to vault

there is a file here

http://mirror.centos.org/centos/8-stream/readme

and inside it is only indicating

This directory (and version of CentOS) is deprecated.

andykimpe commented 4 months ago

that's it they are moved to vault

it wasn't there yet an hour ago

https://vault.centos.org/centos/8-stream/BaseOS/x86_64/os/

k0ste commented 4 months ago

Seems URL should be https://vault.centos.org/centos/8-stream/BaseOS/x86_64/os/ in this case

andykimpe commented 4 months ago

fixe

https://github.com/andykimpe/mock/commit/07b6466fd44e82e9bc4373fa9cf29163da4be250

edit updated fix

sudo wget https://raw.githubusercontent.com/andykimpe/mock/1c2b72d0c9eacbb2f51b7131b5a09882dee9236f/mock-core-configs/etc/mock/templates/centos-stream-8.tpl -O /etc/mock/templates/centos-stream-8.tpl

k0ste commented 4 months ago

Seems better to use https, to avoid 301

√ ~ % curl -v -Ss http://vault.centos.org/centos/8-stream/BaseOS/x86_64/os/ > /dev/null
* Host vault.centos.org:80 was resolved.
* IPv6: (none)
* IPv4: 18.245.60.60, 18.245.60.82, 18.245.60.32, 18.245.60.61
*   Trying 18.245.60.60:80...
* Connected to vault.centos.org (18.245.60.60) port 80
> GET /centos/8-stream/BaseOS/x86_64/os/ HTTP/1.1
> Host: vault.centos.org
> User-Agent: curl/8.6.0
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Server: CloudFront
< Date: Mon, 03 Jun 2024 13:44:14 GMT
< Content-Type: text/html
< Content-Length: 167
< Connection: keep-alive
< Location: https://vault.centos.org/centos/8-stream/BaseOS/x86_64/os/
< X-Cache: Redirect from cloudfront
< Via: 1.1 69a82a9746d3a7343dca651e0829f000.cloudfront.net (CloudFront)
< X-Amz-Cf-Pop: FRA60-P5
< X-Amz-Cf-Id: Pa0vFyTDkcbSZz-Cs5VcGTjS8og7K73xp30q6erGlKgooZQqYuBWDg==
andykimpe commented 4 months ago

yes I haven't seen it's in http

I thought it was already in https

andykimpe commented 4 months ago

new commit

https://github.com/andykimpe/mock/commit/1c2b72d0c9eacbb2f51b7131b5a09882dee9236f

sudo wget https://raw.githubusercontent.com/andykimpe/mock/1c2b72d0c9eacbb2f51b7131b5a09882dee9236f/mock-core-configs/etc/mock/templates/centos-stream-8.tpl -O /etc/mock/templates/centos-stream-8.tpl

xsuchy commented 4 months ago

Can you please squash the commits with description like "updating centos 8 stream config because it EOLed"?

xsuchy commented 4 months ago

Feel free to move the configs and template to eol directory. But I can accept doing that in separate PR.

xsuchy commented 4 months ago

Please add release notes entry https://github.com/rpm-software-management/mock/blob/main/docs/Release-Notes-New-Entry.md

andykimpe commented 4 months ago

move to eol I find it too early

it was red hat who decided that it was EOL

but there are still a lot of people who use it for certain builds that must be ported to el9 and fedora

moving to the eol folder is good when it's configs that are no longer used by a lot of people, it seems too early to me

if you move now it will create too much problem

on the other hand for the notes I prefer not to touch it it is your free project to adapt to your convenience

xsuchy commented 3 months ago

You can still use configs in eol directory. No problem with that. EOL state does not mean it is no longer useful. EOL means end of life. That it is not actively developed. And it did not get security fixes.

xsuchy commented 3 months ago

I did the requested changes and pushed it as 696b7f48

andykimpe commented 3 months ago

However, I just launched an update

on my Fedora 39 and I don't have those in the install packages

NetworkManager-libreswan-1.2.16-5.fc39.x86_64 5 (Fedora Update) NetworkManager-libreswan-gnome-1.2.16-5.fc39.x86_64 (Fedora Update) bluez-5.76-1.fc39.x86_64 (Fedora Update) bluez-cups-5.76-1.fc39.x86_64 (Fedora Update) bluez-libs-5.76-1.fc39.x86_64 (Fedora Update) bluez-obexd-5.76-1.fc39.x86_64 (Fedora Update) containerd.io-1.6.33-3.1.fc39.x86_64 (Doker Repo) docker-buildx-plugin-0.14.1-1.fc39.x86_64 (Doker Repo) docker-ce-3:26.1.4-1.fc39.x86_64 (Doker Repo) docker-ce-cli-1:26.1.4-1.fc39.x86_64 (Doker Repo) docker-ce-rootless-extras-26.1.4-1.fc39.x86_64 (Doker Repo) docker-compose-plugin-2.27.1-1.fc39.x86_64 (Doker Repo) libipa_hbac-2.9.5-1.fc39.x86_64 (Doker Repo) libsss_certmap-2.9.5-1.fc39.x86_64 (Doker Repo) libsss_idmap-2.9.5-1.fc39.x86_64 (Doker Repo) libsss_nss_idmap-2.9.5-1.fc39.x86_64 (Doker Repo) libsss_sudo-2.9.5-1.fc39.x86_64 (Doker Repo) php-7.4.33-15.fc39.remi.x86_64 (Remi Repo) php-cli-7.4.33-15.fc39.remi.x86_64 (Remi Repo) php-common-7.4.33-15.fc39.remi.x86_64 php-fpm-7.4.33-15.fc39.remi.x86_64 (Remi Repo) php-json-7.4.33-15.fc39.remi.x86_64 (Remi Repo) php-mbstring-7.4.33-15.fc39.remi.x86_64 (Remi Repo) php-opcache-7.4.33-15.fc39.remi.x86_64 (Remi Repo) php-pdo-7.4.33-15.fc39.remi.x86_64 (Remi Repo) php-pgsql-7.4.33-15.fc39.remi.x86_64 (Remi Repo) php-sodium-7.4.33-15.fc39.remi.x86_64 (Remi Repo) php-xml-7.4.33-15.fc39.remi.x86_64 (Remi Repo) sssd-2.9.5-1.fc39.x86_64 (Fedora Update) sssd-ad-2.9.5-1.fc39.x86_64 (Fedora Update) sssd-client-2.9.5-1.fc39.x86_64 (Fedora Update) sssd-common-2.9.5-1.fc39.x86_64 (Fedora Update) sssd-common-pac-2.9.5-1.fc39.x86_64 (Fedora Update) sssd-ipa-2.9.5-1.fc39.x86_64 (Fedora Update) sssd-kcm-2.9.5-1.fc39.x86_64 (Fedora Update) sssd-krb5-2.9.5-1.fc39.x86_64 sssd-krb5-common-2.9.5-1.fc39.x86_64 (Fedora Update) sssd-ldap-2.9.5-1.fc39.x86_64 (Fedora Update) sssd-nfs-idmap-2.9.5-1.fc39.x86_64 (Fedora Update) sssd-proxy-2.9.5-1.fc39.x86_64

sudo dnf -y install mock-core-configs

Last metadata expiration check: 3:27:47 ago on Thu 06 Jun 2024 10:12:03 PM CEST. Package mock-core-configs-40.4-1.fcxx.noarch is already installed. Dependencies resolved. Nothing to do. Complete!

version installed mock-core-configs-40.4-1.fcxx

your update

mock-core-configs 40.5-1

not updated on this repository

you published in testing it's configurations

there is therefore no need to put them on the testing repositories

It is wrong that this configuration is updated for everyone

make sure to publish them in the standard Fedora Update repository

and therefore in Stable and not in testing

andykimpe commented 3 months ago

https://bugzilla.redhat.com/show_bug.cgi?id=2290811