欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
PATCH制作方法
最簡(jiǎn)單的PATCH制作方法
Subject:
MINI RPM PATCH HOWTO 最簡(jiǎn)單的PATCH制作方法 V 0.1 版本
Author: wangxg
MINI RPM PATCH HOWTO
最簡(jiǎn)單的PATCH制作方法
V 0.1 版本

目的:

您目的是希望修改了RPM源碼包中的源代碼后,將自己修改的代碼制作成PATCH的形式編譯到原RPM包中,從而方便RPM包的制作,以及保證代碼的一致性和可維護性.

常規操作:

1. 在系統中建立三個(gè)目錄:
1.1 源代碼調式和編譯目錄 (定義為 “工作目錄”)
1.2 修改目標代碼目錄 (定義為 “目標目錄”)
1.3 原始源代碼目錄 (定義為 “源目錄” )

注釋:
1.1“工作目錄”即是我們直接修改和調式源代碼的目錄,一般情況下我們會(huì )解開(kāi)
RPM源代碼包,然后進(jìn)行 rpmbuild ,在/usr/src/redhat/Build/目錄下會(huì )產(chǎn)生系統
的源代碼目錄,建議將該目錄作為工作目錄.

1.2 “目標目錄”是存放最終代碼(修改過(guò)的源代碼)的目標目錄,一般我們將“工作目錄”中修改好的源代碼復制到該“目標目錄”中,覆蓋該目錄中的舊文件,如果是新增的文件,則將新增文件直接復制到相應的目錄結構中.

為工作方便,目標目錄一般情況下在系統/usr/src/redhat/SOURCE/目錄下.該目錄是解壓在SOURCE目錄下的源代碼包壓縮包( 包名.tar.bz2)產(chǎn)生的.

注: SOURCE目錄下的tar.bz2包是在安裝源代碼包(執行rpm -ivh )時(shí)
自動(dòng)生成的.

1.3 “源目錄”是制作patch時(shí)對比用的目錄,方法是在SOURCE目錄制作“目標目錄”時(shí)復制一個(gè)目錄更名為 包名.orig (后最只是用來(lái)和“目標目錄”
做區分)

1.4 注意:解壓tar.bz2包生成“目標目錄”和“源目錄”后要恢復一個(gè) tar.bz2包,否則在執行rpmbuild時(shí),系統會(huì )提示在SOURCE目錄下找不到包名.tar.bz2文件.


2. 在“工作目錄”中調式和修改源代碼;
2.1 記錄修改的文件名
2.2 記錄新增的文件名
2.3 記錄刪除的文件名

注釋:
2.1 這里指的修改過(guò)的文件是沒(méi)有編譯前存在的文件
2.2 這里新增的文件是指用戶(hù)額外編寫(xiě)的程序代碼,也可以是二進(jìn)制模塊
2.3 這里刪除的文件是指用戶(hù)手動(dòng)刪除的編譯和調式前存在的文件







3. 當調式“工作目錄”中代碼無(wú)誤時(shí),將“工作目錄”目錄中修改過(guò)的文件,用戶(hù)新增加的
文件,將“目標目錄”對應于“工作目錄”中用戶(hù)刪除的文件刪除.

注意:
3.1 修改過(guò)的文件會(huì )覆蓋“目標目錄”相應的文件
3.2 將新增的文件拷貝到“目標目錄”相應的目錄結構中
3.3 刪除“目標目錄”中對應于“工作目錄”中用戶(hù)刪除的文件

4. 制作PATCH文件

4.1 在SOURCE目錄下用如下命令:

# diff -uNr “源目錄” “目標目錄” > 包名.作者.日期.patch

注:
a. “包名.作者.日期.patch ”是用戶(hù)自己取的.作者可以根據自己的規范命名;
b. patch文件一定在SOURCE目錄下;


5. 修改SPECS文件

5.1 在SPECS下有包的SPEC文件,名為 “包名.SPEC”
5.2 修改該SPEC文件,這里我們舉一個(gè)小型的 spec 文件為例 (vim-3.0-1.spec):

*****************************************************
Summary: ejects ejectable media and controls auto ejection
Name: eject
Version: 1.4
Release: 3
Copyright: GPL
Group: Utilities/System
Source: sunsite.unc.edu:/pub/Linux/utils/disk-management/eject-1.4.tar.gz
Patch: eject-1.4-make.patch
Patch1: eject-1.4-jaz.patch
%description
This program allows the user to eject media that is autoejecting like
CD-ROMs, Jaz and Zip drives, and floppy drives on SPARC machines.

%prep
%setup
%patch -p1
%patch1 -p1

%build
make RPM_OPT_FLAGS=\"$RPM_OPT_FLAGS\"

%install
install -s -m 755 -o 0 -g 0 eject /usr/bin/eject
install -m 644 -o 0 -g 0 eject.1 /usr/man/man1

%files
%doc README COPYING ChangeLog

/usr/bin/eject
*****************************************************

注意:從上面示例中我們看到,修改SPEC文件只有兩個(gè)地方,一是在Source后面,
二是在%setup后面.

修改方法:

1. 如果原 SPEC 文件沒(méi)有PATCH,則在文件的“Source:”行后增加“Patch:”行.
將您的Patch名寫(xiě)在Patch: 后面,例如: Patch: OpenOffice-hhj-20030715.patch

如果原 SPEC 文件有PATCH,則在舊的“Patch:”行后新增“PatchN:”行.
如果原來(lái)只有一個(gè)“Patch:”,您則增加“Patch1:”,并將您的Patch名寫(xiě)在Patch1: 后面,例如: Patch1: OpenOffice-hhj-20030715.patch,依此類(lèi)推.

2. 如果原 SPEC 文件沒(méi)有PATCH,則在 SPEC 文件%setup行后面
增加一行%patch -p1 ,其中 -p1 是參數
如果原來(lái)只有一個(gè)“Patch:”,您增加“Patch1:”,則在SPEC文件%setup行后面,的
%patch -p1后面新增一行: %patch1 -p1 依此類(lèi)推.

注釋:
Source行后面的Patch項在%setup行后面肯定有對應項.

6. 執行rpmbuild -ba 命令,這時(shí)打出來(lái)的二進(jìn)制RPM包就是修改過(guò)的包了,源代碼包則包含
了您的PATCH.





(列舉修改 anaconda源代碼):

1.在RedHat9.0中安裝anaconda-9.0.src.rpm
# rpm -ivh anaconda-9.0.src.com

1.1 在系統中會(huì )出現如下文件:
/usr/src/redhat/SOURCE/anaconda-9.0.tar.bz2

2. 解壓上面目錄中的壓縮包--anaconda-9.0.tar.bz2
# bunzip2 anaconda-9.0.tar.bz2

2.2 在系統中會(huì )出現如下文件 :
/usr/src/redhat/SOURCE/anaconda-9.0.tar

2.3 解壓上面2.2 tar 包
# tar -xvf anaconda-9.0.tar

在系統中產(chǎn)生如下目錄
/usr/src/redhat/SOURCE/anaconda-9.0

2.4 復制anaconda-9.0 目錄

# cp -rf anaconda-9.0 anaconda-9.0.orig

現在系統SOURCE目錄下存在兩個(gè)沒(méi)有編譯過(guò)的源代碼目錄
一個(gè)是源目錄: anaconda-9.0.orig

一個(gè)是修改目錄: anaconda-9.0

注意:千萬(wàn)不要在SOURCE中的修改目錄中編譯和調式源代碼.該目錄只是用來(lái)存放修改過(guò)的源代碼(將其他編譯和調式環(huán)境中的源代碼文件直接覆該目錄中的原文件).

一般我們修改的代碼都是直接在源代碼目錄中進(jìn)行編譯,最常用的是在BUILD目錄中的源代碼目錄中,
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
rpm建包原理
RPM包rpmbuild SPEC文件深度說(shuō)明 - 夜鳴豬的RubyOnRails空間 -...
微頭條
rpm 打包整理
PowerPC平臺Linux的移植
Linux的補丁知識
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久