liusheng / liusheng.github.io

Liusheng's blog
http://liusheng.github.io
5 stars 1 forks source link

openEuler 发布RPM包简单流程 #37

Open liusheng opened 3 years ago

liusheng commented 3 years ago

0. 准备工作

2. 提交PR到openEuler社区

3. 其他

编写Spec中一些有用的宏:

VERSION 默认为%version, EXT默认为tar.gz

[root@openeuler-pkg rpmbuild]# rpm --eval "%{pypi_source tooz 2.8.1}"
https://files.pythonhosted.org/packages/source/t/tooz/tooz-2.8.1.tar.gz
liusheng commented 3 years ago

NOTE: 留存一个批量创建openeuler包仓库分支的脚本:

#!/bin/bash
set -e

branch_names="oepkg_openstack-rocky_oe-20.03-LTS-SP2 oepkg_openstack-queens_oe-20.03-LTS-SP2"
project_list=./projects
src_yaml=./community/repository/src-openeuler.yaml

miss_list=""
miss=0

for p_name in $(cat $project_list)
do
    grep -Eo '^- name: '$p_name'$' ./community/repository/src-openeuler.yaml >/dev/null && echo "Creating branch for project: $p_name" || { miss_list="${miss_list}$p_name "; let miss+=1; continue; }

    for b_name in $branch_names
    do
        sed -n '/^- name: '$p_name'$/,/^- name:/p' $src_yaml |grep $b_name > /dev/null && { echo "Project $p_name already has branch: $b_name"; continue; }
        sed -i '/^- name: '$p_name'$/{:a;n;/type: protected/!ba;s/type: protected/type: protected\n\ \ - name: '$b_name'\n\ \ \ \ type:\ protected\n\ \ \ \ create_from:\ master/}' $src_yaml
    done
done

echo "$miss projects missed in src-openeuler.yaml: $miss_list"

注意:需要在脚本同目录放community项目,以及一个projects文件,改文件存放要添加分支的项目名称列表。