免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1746 | 回复: 1
打印 上一主题 下一主题

[FreeBSD] redports.org 免費服務簡單介紹 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-02-12 19:25 |只看该作者 |倒序浏览
本帖最后由 zeissoctopus 于 2013-02-13 07:48 编辑

介紹
redports.org(美國) 提供多種 FreeBSD 沙盒環環,給予註冊使用者作測試他們的 ports 用途。費用全免。

好處
  • Ports 維護者,完全使用 redports.org 沙盒環境編譯他們的 Ports,免郤用自己的機器測試
  • 非 Ports 維護者可以把自己的補丁放在 redports.org 沙盒環境裡編譯,查看結果。
  • redports.org 提供:FreeBSD 9.1-RELEASE/amd6, FreeBSD 9.1-RELEASE/i386, FreeBSD 8.3 RELEASE/amd64, FreeBSD 8.3-RELEASE/i386 多種 FreeBSD 沙盒環境


使用 redports.org 的條件
  • redports.org 註冊成為 redports.org 用戶 (2013 年 3 月才重新接受新用戶申請)
  • 安裝 devel/subvision


簡單介紹使用步驟
小弟是 deskutils/rednotebook 的維護者,當 rednotebook 有新版本推出後,小弟在空間時又需要把 ports 升級了。以下是使用 redports 步驟:

1. 到 redports.org 註冊
這步驟不用我解釋吧!但 redports.org 是有人審核你的申請,可能是等數天後才接納的你的申請。而新用戶要等到 2013 年 3 月內才可以申請。

2. 登入 redports.org
你成為合法用戶後,登入系統後便可以使用了。


3. 加入至少一個沙盒環境
登入後,在接近右上角選 [Builds] --> [ Environments]後,你便可以書右方選單中加入使用那個沙盒。

完成了這步驟後,你可以離開網站。回到你的 console 或 xterm 工作了。

4. 使用 subvision 建立你將要與 reports.org 同步的 ports repository

4.1 在 $HOME 建立在一個 ~/RedPorts 目錄

  1. ~% cd
  2. ~% mkdir RedPorts
  3. ~% cd RedPorts
  4. ~/RedPorts%
复制代码
4.2 先用 subversion checkout 功能,把你的 redports.org 私人 repository 同步於 ~/RedPorts 目錄

  1. ~/RedPorts% svn co https://svn.redports.org/你的用戶ID(英文)
复制代码
必需先完成以上步驟才繼續下一步。

4.3 把我所主理的 rednotebook ports 複制進去這目錄。目錄結構必需與 /usr/ports 之下一模一樣!

  1. ~/RedPorts% cd ~/RedPorts/你的用戶ID(英文)
  2. ~/RedPorts/你的用戶ID(英文)% mkdir deskutils
  3. cp -pr /usr/ports/deskutils/rednotebook deskutils/
复制代码
4.4 把 ~/RedPorts/你的用戶ID(英文) 中的 deskutils/rednotebook 登記入你的 reports.org 私人 repository,這一步必需在 ~/RedPorts/你的用戶ID(英文)  目錄之下完成

  1. ~/RedPorts/你的用戶ID(英文)% svn add deskutils
复制代码
5. 現在我可以在 ~/RedPorts/你的用戶ID(英文) 中的 deskutils/rednotbook 進行修改 Makefile, distinfopkg-plist,把 rednotebook 由 1.6.5 升級至 1.6.6
一如以往修改

6. 把 rednotebook 1.6.6 測試的 ports 放進 redports.org 私人 repository

  1. cd ~/RedPorts/你的用戶ID(英文)
  2. ~/RedPorts/你的用戶ID(英文)% svn commit -m "First trial for updating rednotebook to 1.6.6"
复制代码
當你把新版的 ports 遞交上 redports.org 後,他便會自動排隊進行編譯。

7. 過一段時間後,再次登入 redports.org查看你的新版編譯結果
登入後,到 https://redports.org/buildqueue 查看。你會見到結果和詳細的編譯記錄。

上圖表示新版本的 rednotebook 在沙盒中成功編譯好了。如果編譯失敗,也會告訴你究竟在那一個階段出錯。然後你可以再修正錯誤,再 commit 補丁再編譯過。

8. 如果你新版本成功通過 redports 沙盒測試,那麼你可以制作正式補丁遞交上官方。
例如我今次升級曾改動過 Makefile, distinfopkg-plist 三個檔案內容。
8.1 先把 /usr/ports/deskutils/rednotebook 中舊版本複制至 /tmp 每個舊版本加上 .orig 尾綴

  1. ~% cd /tmp
  2. ~/tmp%cp /usr/ports/deskutils/rednotebook/Makefile ./Makefile.orig
  3. ~/tmp%cp /usr/ports/deskutils/rednotebook/distinfo ./distinfo.orig
  4. ~/tmp%cp /usr/ports/deskutils/rednotebook/pkg-plist ./pkg-plist.orig
复制代码
8.2 然後把 ~/RedPorts/你的用戶ID(英文) 中的 deskutils/rednotbook 新版 Makefile, distinfo 和 pkg-plist 複制到 /tmp

  1. ~% cd /tmp
  2. /tmp% cp $HOME/RedPorts/你的用戶ID(英文)/deskutils/rednotebook/Makefile .
  3. /tmp% cp $HOME/RedPorts/你的用戶ID(英文)/deskutils/rednotebook/distinfo .
  4. /tmp% cp $HOME/RedPorts/你的用戶ID(英文)/deskutils/rednotebook/pkg-plist .
复制代码
現在 /tmp 集齊新舊版 6 個檔案

  1. % ls /tmp
  2. Makefile.orig
  3. Makefile
  4. distinfo.orig
  5. distinfo
  6. pkg-plist.orig
  7. pkg-plist
复制代码
8.3 利用 diff 產生 補丁

  1. ~% cd /tmp
  2. /tmp% diff -u5 Makefile.orig Makefile > rednotebook.1.6.6.patch.txt
  3. /tmp% diff -u5 distinfo.orig distinfo >> rednotebook.1.6.6.patch.txt
  4. /tmp% diff -u5 pkg-plist.orig pkg-plist >> rednotebook.1.6.6.patch.txt
复制代码
完成後,得到一個完整的 rednotebook.1.6.6.patch.txt 補丁檔案

官方網頁出 PR 提交升級補丁
最後完成遞交補丁申請,並得到官方確認升級到 1.6.6
http://www.freebsd.org/cgi/query-pr.cgi?pr=176048
http://www.freshports.org/deskutils/rednotebook/

總結
redports.org 這個沙盒服務大大減省 ports 維護者配置測試環境的大量前期工作。十分值得推廣。

评分

参与人数 1可用积分 +4 收起 理由
ulovko + 4 欢迎分享 ^_^

查看全部评分

论坛徽章:
13
15-16赛季CBA联赛之同曦
日期:2016-01-28 19:52:032015亚冠之北京国安
日期:2015-10-07 14:28:19NBA常规赛纪念章
日期:2015-05-04 22:32:03处女座
日期:2015-01-15 19:45:44卯兔
日期:2014-10-28 16:17:14白羊座
日期:2014-05-24 15:10:46寅虎
日期:2014-05-10 09:50:35白羊座
日期:2014-03-12 20:52:17午马
日期:2014-03-01 08:37:27射手座
日期:2014-02-19 19:26:54子鼠
日期:2013-11-30 09:03:56狮子座
日期:2013-09-08 08:37:52
2 [报告]
发表于 2013-02-12 21:59 |只看该作者
赞一个!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP