-------------------------------------------------- --------------------------------------------
オペレーティングシステムのバージョン
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で自動的に取得します。最新のマスターコードをコンパイルします)。