https://wiki.centos.org/About/Building_8

centos8 还没准备好。。

CentOS 8 Rough Status Page

Red Hat Enterprise Linux 8 was released on 2019-05-07, and everyone is waiting to find out when the CentOS rebuild will occur. This document is meant to cover general questions and timeline for what is happening.

A CentOS major release takes a lot of planning and changes in tooling as it is based on a much newer version of Fedora than previous versions. This means that everything from the installer, packages, packaging, and build systems need major overhauls to work with the newer OS. This means that there is always a ramp up period depending on the changes needed to make a rebuild work. The differences between EL-8 and EL-7 are no exception as the kernel has changed drastically, the repository format has added 'modules' and RPMS have grown many features that EL7 and before do not have. About the only item which has not drastically changed between EL7 and EL8 is the init system which is still systemd. [This is a first as EL5 had SysV, EL6 had Upstart, and EL7 had Systemd].

General Steps

Steps needed to make a CentOS rebuild usually follow these steps:

  1. Red Hat makes the sources available.
    1. This used to be done via src.rpms but 7 changed to git repos
    2. In 8 CentOS has partnered closer with Fedora and will be sharing git repos with the Fedora system
    3. The pushes from Red Hat started on 2019-05-07 and ended 2019-05-08
  2. CentOS needs to look at the sources and determine what is needed to build these packages
    1. The rpm format has added items like Suggests which change some tooling requirements
    2. The packaging format has moved from yum to dnf4/yum4 which added modularity. Modules are an additional hurdle because they allow parallel available versions of software but not parallel installability (aka you can build perl-5.24 and perl-5.26 and all perl modules need to be compiled against both sets.) Module stream versions are tied to certain timestamps which means you can't rebuild the RHEL or Fedora and get the exact same version name.
    3. There are always packaging loops which need to be worked out. You need golang-(X-1) to build golang-X but golang-(X-1) doesn't exist yet.. how do you build a version and break the loop?
  3. CentOS needs to set up a build system which can allow for these changes.
    1. While CentOS can use the Fedora build system as a template, there are items in it which don't make sense for CentOS.
    2. The EL-8 beta was useful but there are still major changes which need rethinking
  4. CentOS needs to go through the source code and find out all the places where debranding is needed.
    1. No you can't just "sed s'/Red Hat/CentOS/' (someone always offers that)
    2. There are times when you do replace and times when you don't.
  5. Builds can start occurring through the system
    1. This usually requires a multi-loop as you do a build to get started
    2. Then rebuild that core with itself
    3. Then add some more and possibly repeat 1 && 2 a couple of times.

    4. Then you can start building out the rest of the packages
  6. The installer usually takes a certain amount of work to get packaged together.
    1. Some things need additional patches
    2. Some things just need to be ordered correctly
    3. Some things like shim signatures for Secure Boot take outside review by signing authority
  7. QA work can begin
    1. with testing of packages by themselves or building from them
    2. with installer testing for smoke tests
  8. Usually some sort of RC work is done
  9. A final build is released

The above is a 'you asked the people trying to build the train when it will arrive' guide. That said, every release is different and the order and additional steps get found and added each time.

Architectures

Main architectures

The following arches are built automatically in parallel in our new Build System :

  • x86_64
  • ppc64le (Little Endian
  • aarch64 (ARM64, ARMv8)

Responsibility, Owner: CentOS Core SIG

AltArch

The following architecture (not existing upstream, so more difficult to boostrap) is also actually being worked, on, but mainly based on a combination of Fedora 27/28 pkgs that can be used to bootstrap the el8 beta rebuild and then iterating loops until we can include that architecture in our Koji Build System .

  • armhfp (ARM32, ARMv7 - aka armv7hl)

Responsibility, Owner : CentOS SIG-AltArch

Current Timeline

Item

Started

Ended

Status

Sources pushed to CentOS Git

2019-05-07

2019-05-08

DONE

Source code evaluation

2019-05-07

YYYY-MM-DD

Ongoing

New Build System Setup

2019-05-07

2019-05-08

DONE

Debranding patches added

2019-05-07

YYYY-MM-DD

Ongoing

Artwork Requested

2019-03-07

2019-05-07

DONE

Artwork Selections

2019-05-09

YYYY-MM-DD

Ongoing

Build Loop 0

2019-05-07

2019-05-??

Ongoing

Build Loop M

YYYY-MM-DD

YYYY-MM-DD

Not started

Build Loop N

YYYY-MM-DD

YYYY-MM-DD

Not started

Installer work

YYYY-MM-DD

YYYY-MM-DD

Not started

QA work

YYYY-MM-DD

YYYY-MM-DD

Not started

RC work

YYYY-MM-DD

YYYY-MM-DD

Not started

Release work

YYYY-MM-DD

YYYY-MM-DD

Not started

Definitions

  • DONE - Step is completed
  • Ongoing - Work is progressing
  • Not started - This step may requires work from another step to reach some completion or requires time from person who is working on other parts.
  • Build loop 0 - Getting an initial set of packages together which can then build more packages
  • Build loop 1 - Using the smallest set of packages to build a larger set which can then build more packages
  • Build loop N - I really don't know how many loops this is going to be.. so we will use N nomenclature.
  • Installer work - there are usually some work needed to make the installer actually work with various things like secure boot or different fonts or 'oh they fixed that in an upgrade.img.. let us just short cut and put that here.'

【官网】2019.5.19 CentOS8.0 最新进展的更多相关文章

  1. Opera官网打不开 下载Opera最新版本的实际地址

    目前Opera官网可以打开,但是点下载时就会出错,国内无法访问Opera的下载地址,无法通过官网直接下载Opera浏览器.下面提供下载的方式. 一.通过官方的ftp站点下载 FTP地址为 http:/ ...

  2. vultr vps官网改版免费注册教程(最新优惠码)

    本站强烈推荐的,国外超高性价比vps服务器Vultr官方网站最近更新了,导致一些朋友心生茫然,今天写个简易教程给大家. 首先是打开vultr官网,免费注册一个vultr账号.填写邮箱地址.密码,非常简 ...

  3. 2022年官网下安装MongoDB最全版与官网查阅方法(5.0.6)

    一.下载安装 1.百度搜索,找到官网,或直接访问:https://www.mongodb.com/ 2.寻找下载位置,双击下载. 3.找到本地位置,双击执行,进入欢迎界面,选择next. 4.勾选协议 ...

  4. Python自学笔记-关于切片(来自廖雪峰的官网Python3)

    感觉廖雪峰的官网http://www.liaoxuefeng.com/里面的教程不错,所以学习一下,把需要复习的摘抄一下. 以下内容主要为了自己复习用,详细内容请登录廖雪峰的官网查看. 切片 L[0: ...

  5. 如何在Maven官网下载到历史版本

    历史版本一般会隔一段时间,便找不到,官网会及时显示的是最新版本.不多说,直接进入. https://archive.apache.org/dist/maven/binaries/ 成功在Maven官网 ...

  6. 如何在Maven官网下载历史版本

    如何在Maven官网下载历史版本 历史版本一般会隔一段时间,便找不到,官网会及时显示的是最新版本.不多说,直接进入. https://archive.apache.org/dist/maven/bin ...

  7. OEL7.6安装Oracle Database 19C(VERSION 19.3.0.0)

    1.eDelivery中下载Oracle Database 19C和Oel的安装介质,并安装好操作系统 2.安装Oracle环境准备工具 环境准备工具会自动完成用户和用户组的创建.系统参数配置.依赖包 ...

  8. 2022年官网下安装Logstash最全版与官网查阅方法(8.1.0最新安装)

    一.环境整合 构建工具(参考工具部署方式) 软件名称 版本 相关文章推荐 NodeJS 16.0.0 https://www.cnblogs.com/liuyangfirst/p/15998172.h ...

  9. 2022年官网下安装Elasticsearch最全版与官网查阅方法(8.1.0最新安装)

    目录 一.环境整合(需要提前装好) 构建工具(参考工具部署方式) 二.官方下载Elasticsearch部署安装 1.百度搜索"Elasticsearch",或者访问官网https ...

随机推荐

  1. NETCONF

    NETCONF协议(Network Configration Protocol) NETCONF是一个基于XML的交换机配置接口,用于替代CLI.SNMP等配置交换机. 本质上来说,NETCONF就是 ...

  2. easygui _1

    GUI---图形用户界面 什么是GUI? GUI是Graphical  User   Interface(图形用户界面)的缩写.在GUI中,并不是键入文本和返回值,用户可以看到文本框,窗口,按钮等图形 ...

  3. Redis 历史版本下载URL

    Redis 历史版本下载URL: http://download.redis.io/releases/ Redis和RedisClient 官网下载方式: https://blog.51cto.com ...

  4. udp拼接传递数据包

    1.拼接项少 pl = ["<0112>","<32>","<1024x768>","< ...

  5. smooth L1损失函数

    当预测值与目标值相差很大时,L2 Loss的梯度为(x-t),容易产生梯度爆炸,L1 Loss的梯度为常数,通过使用Smooth L1 Loss,在预测值与目标值相差较大时,由L2 Loss转为L1  ...

  6. vue根据参数不同的路由跳转以及name的作用

    最近在做VUE路由跳转根据参数的值不同但是跳转的是同一个路由的功能.点击左边的目录,根据目录ID跳转不同的列表.如下图. 路由跳转的代码: this.$router.push({path: '/RFI ...

  7. 第三周总结&实验报告一

    第三周总结 在这周对Java进行了更深层次的学习,Java的学习也越来越难了,慢慢的加入了一些新的构造新的方法,还有许许多多简化代码的相关知识,我还是要认真的去吃透这些知识,自己也要慢慢的去研究一些题 ...

  8. 一、基础篇--1.1Java基础-包装类的装箱和拆箱

    包装类:java是典型的面向对象编程,但是八种基本数据类型并不支持面向对象编程.基本类型的数据不具备对象的特性,没有属性和方法.沿用它们只是为了迎合人类根深蒂固的习惯,并的确能简单.有效地进行常规数据 ...

  9. leetcode-easy-array-189 Rotate Array

    mycode  75.59% class Solution(object): def rotate(self, nums, k): """ :type nums: Lis ...

  10. 十二、RF自定义库(数据库)

    1.自定义第三方库 def DB_select_by_sql(self,db_name,sql): conn=pymysql.connect(db=db_name,user='root',passwo ...