OBSクライアントOSCをopenEuler20.03にデプロイし、openeuler-buildを介してコンパイルします

-------------------------------------------------- --------------------------------------------

オペレーティングシステムのバージョン

openEuler 20.03


#cat / etc / openEuler-release 
openEuler release 20.03(LTS)
[root @ openeuler-test〜]
#uname -a Linux openeuler-test 4.19.90-2003.4.0.0036.oe1.x86_64#1 SMP Mon Mar 23 19:10 :41 UTC 2020 x86_64 x86_64 x86_64 GNU / Linux

2セットのyumソース


#mount -oloop openEuler-20.03-LTS-everything-x86_64-dvd.iso / mnt
#vim /etc/yum.repos.d/openEuler_x86_64.repo
[iso]
name = iso
baseurl = file:/// mnt
gpgcheck = 0
enable = 1

3つのインストールoscrpm

下取
#wget https://download-ib01.fedoraproject.org/pub/fedora/linux/releases/31/Everything/x86_64/os/Packages/p/python3-lxml-4.4.0-1.fc31.x86_64.rpm
#wgethttps://download-ib01.fedoraproject.org/pub/fedora/linux/releases/31/Everything/aarch64/os/Packages/o/osc-0.165.1-255.1.2.fc31.1.noarch。 RPM
#wgetのhttps://download-ib01.fedoraproject.org/pub/fedora/linux/releases/31/Everything/aarch64/os/Packages/o/osc-source_validator-0.10-5.fc31.noarch.rpm
#wgetのhttps://download-ib01.fedoraproject.org/pub/fedora/linux/releases/31/Everything/x86_64/os/Packages/o/obs-build-20190321-314.1.1.fc31.1.noarch.rpm
# wget https://download-ib01.fedoraproject.org/pub/fedora/linux/releases/31/Everything/x86_64/os/Packages/o/obs-build-mkbaselibs-20190321-314.1.1.fc31.1.noarch .rpm
#wgethttps://download-ib01.fedoraproject.org/pub/fedora/linux/releases/31/Everything/x86_64/os/Packages/o/obs-build-mkdrpms-20190321-314.1.1.fc31.1。 noarch.rpm

安装
#がインストールDNF -yのpython3-lxmlの-4.4.0-1.fc31.x86_64.rpm
#DNFインストール-y OSC-0.165.1-255.1.2.fc31.1.noarch.rpm
#DNFインストール-y obs- build-20190321-314.1.1.fc31.1.noarch.rpm obs-build-mkbaselibs-20190321-314.1.1.fc31.1.noarch.rpmobs-build-mkdrpms-20190321-314.1.1.fc31.1。 noarch.rpm
#dnf install -y osc-source_validator-0.10-5.fc31.noarch.rpm

 

4人が新しいプロジェクトを作成し、地元の人にチェックアウトします

1)Huaweiのobs登録ユーザー
http://openeuler-build.huawei.comにログインし
、ユーザー名とパスワード記録します(この記事のユーザー名はテストです)

2)Webインターフェイスobsは、test_projectという名前の独自のプロジェクトを作成します。これはhome:test:test_projectです。

3)プロジェクトを地元にチェックアウトする

#mkdir〜
/ obs
#cd〜/ obs #osc checkout home:test:test_project

ユーザーアカウント/パスワードはまだ構成されていません。
以下でそれらを求められ
、将来の使用のため/root/.config/osc/oscrcに保存されます。

osc構成ファイル/root/.config/osc/oscrcを作成しています...
ユーザー名:test#登録ユーザー
パスワード:#登録ユーザーパスワード
完了
サーバーがエラーを返しました:HTTPエラー401:認証されていません#認証失敗情報を要求します


osc構成ファイルを変更します。

〜/ .oscrc(通常のユーザーに推奨)または/root/.config/osc/oscrcを編集します

#vi /root/.config/osc/oscrc

以下を編集します。

[一般]
apiurl = http://openeuler-build.huawei.com/

[http://openeuler-build.huawei.com/]
user = test #registered user
pass = password#registered user password


再次チェックアウト#oscチェック
アウトhome:test:test_project
警告:SSL証明書チェックが無効になっています。接続が安全ではありません!

ホーム:test; test_project

 

5.プロジェクトを作成するためのメタ情報

使用するプロジェクトメタ情報を設定します(Webインターフェイスを介してリポジトリとアーチを設定することをお勧めします)。

#osc meta prj -e home:test:test_project

6つの新しいパッケージ


1)プロジェクトディレクトリを入力し
ます#cd home \:test \:test_project

2)新しいパッケージ

例としてzshパッケージを取り上げます。 

最初の方法:
#osc mkpac zsh
#cd zsh
は、ソースコードをこのディレクトリに配置します。主に[tarパッケージ、すべてのパッチ、スペックファイル、その他のソースファイル]の形式で、src.rpmパッケージ
(またはsrcを介して)ではありません。 rpmパッケージ:rpm2cpio / tmp / src /
zsh-5.7.1-4.oe1.src.rpm | cpio -iudm)

2番目の方法:

#osc importsrcpkg --name = zsh / tmp / src / zsh-5.7.1-4.oe1.src.rpm
パッケージメタ情報とzshディレクトリを作成し、zsh-5.7.1-4.oe1.src.rpm解凍します。 zshディレクトリへ
#cd zsh

3)上記のファイルを新しく作成したパッケージに
追加します #osc add *
4)変更をサーバーにアップロードします: 
#osc commit -m "Init 2020-02-01"

5)パッケージの更新
プロジェクトフォルダを入力します。
#cd [プロジェクト名]
ローカルコードを最新のコードに更新します。
#osc up

6)倉庫にパッケージがある場合は、次のようになります。 
#osc checkout home \:test \:test_project / zsh
または
#osc checkout home \:test \:test_project zsh
(の多数のパッケージに適用可能)プロジェクト、パッケージのチェックアウトプロジェクトのメタ情報全体をローカルにプルします)

8つの質問

1)oscimportsrcpkgを実行するためのプロンプト情報は次のとおりです。

#osc importsrcpkg kronosnet-1.15-1.el7.src.rpm              
警告:SSL証明書チェックが無効になっています。接続が安全ではありません!

トレースバック(最後の最後の呼び出し):
  ファイル "/ usr / bin / osc"、41行目、<モジュール>
    r = babysitter.run(osccli)
  ファイル "/usr/lib/python3.7/site-packages/osc/
    babysitter.py "、61行目、実行中return prg.main(argv)
  ファイル" /usr/lib/python3.7/site-packages/osc/cmdln.py "、344行目、main
    return self.cmd(args )
  ファイル "/usr/lib/python3.7/site-packages/osc/cmdln.py"、行367、cmd
    retval = self.onecmd(argv)
  ファイル "/usr/lib/python3.7/site-packages /osc/cmdln.py "、行501、onecmdで
    return self._dispatch_cmd(handler、argv)
  ファイル" /usr/lib/python3.7/site-packages/osc/cmdln.py "、行1232、in _dispatch_cmd
    returnハンドラー(argv [0]、opts、* args)
  ファイル "/usr/lib/python3.7/site-packages/osc/commandline.py"、行7881、do_importsrcpkg
    createPackageDir(os.path.join(project.dir、pac)、project)
  ファイル "/ usr / lib64 「参加で、ライン94、/python3.7/posixpath.py
    genericpath._check_arg_types( '参加'、、* P)
  _check_arg_typesの中/usr/lib64/python3.7/genericpath.py "ファイル"、ライン151、
    昇給TypeError( "パスコンポーネントで文字列とバイトを混在させることはできません")from None
TypeError:パスコンポーネントで文字列とバイトを混在させることはできません

正しい使用法:
#osc importsrcpkg --name kronosnet /tmp/src/kronosnet-1.15-1.el7.src.rpm

 

2)Openeuler-buildはgiteeからsrcソースコードを取得してコンパイルします

https://openeuler.org/zh/blog/2020/03/26/2020-03-26-OBS-with-Git.html

openeuler-buildでパッケージを作成し、「パッケージにファイルを追加」と入力します

ファイル名入力:ioprocess

ファイルURL入力:https://gitee.com/openkylin/ioprocess.git

[保存]をクリックした後にエラーを報告する

ioprocessパッケージのインターフェースに入り続けます

_serviceのコンテンツを編集します。他のコンテンツは変更されず、マークされたコンテンツのみが変更されます
<services>
  <service name = "tar_scm">
    <param name = "scm"> git </ param>
    <param name = "filename"> ioprocess </ param> #giteeから取得する必要がある独自のパッケージ名に変更します
    <param name = "url"> https://gitee.com/openkylin/ioprocess.git </ param>#のURLに変更しますgiteeアドレスのパッケージ
  </ service>
  <service name = "extract_file">
    <param name = "archive"> *。* </ param>
    <param name = "files"> * / * </ param>
  </ service >
</サービス>

次に、giteeからソースコードをプルして自動的にコンパイルできます(このメソッドは現在、openeuler-buildインターフェイスを介してソースファイルを変更できません。giteeで変更を送信し、マスターにマージして、[ サービスのトリガー]をクリックする必要がありますパッケージインターフェイス、obsで自動的に取得ます。最新のマスターコードをコンパイルします)。

 

 

 

 

おすすめ

転載: blog.csdn.net/u011153166/article/details/105792342