惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Help Net Security
Help Net Security
G
Google Developers Blog
雷峰网
雷峰网
WordPress大学
WordPress大学
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Engineering at Meta
Engineering at Meta
Security Latest
Security Latest
T
Threat Research - Cisco Blogs
AWS News Blog
AWS News Blog
F
Full Disclosure
C
Cybersecurity and Infrastructure Security Agency CISA
T
The Exploit Database - CXSecurity.com
J
Java Code Geeks
U
Unit 42
C
Cyber Attacks, Cyber Crime and Cyber Security
V
V2EX
C
Cisco Blogs
博客园 - 司徒正美
Project Zero
Project Zero
L
LINUX DO - 热门话题
阮一峰的网络日志
阮一峰的网络日志
Blog — PlanetScale
Blog — PlanetScale
Scott Helme
Scott Helme
A
About on SuperTechFans
Hugging Face - Blog
Hugging Face - Blog
S
Securelist
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
S
Schneier on Security
G
GRAHAM CLULEY
酷 壳 – CoolShell
酷 壳 – CoolShell
Cyberwarzone
Cyberwarzone
MongoDB | Blog
MongoDB | Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
T
Threatpost
Recorded Future
Recorded Future
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
N
News and Events Feed by Topic
人人都是产品经理
人人都是产品经理
The Register - Security
The Register - Security
S
Security Archives - TechRepublic
博客园 - Franky
N
News | PayPal Newsroom
Simon Willison's Weblog
Simon Willison's Weblog
S
SegmentFault 最新的问题
W
WeLiveSecurity
A
Arctic Wolf
B
Blog

博客园 - sonach

osc环境搭建 Mer开发过程 放弃WINCE,拥抱Linux 移植Mer-qtmediahub到hi3716m(6):成果与感悟 移植Mer-qtmediahub到hi3716m(5):启动Mer-qtmediahub-hi3716m 移植Mer-qtmediahub到hi3716m(4):确定可写入hi3716m的文件系统镜像 移植Mer-qtmediahub到hi3716m(3):在mer-qtmediahub中加入hi3716m的驱动 移植Mer-qtmediahub到hi3716m(2):kernel配置 移植Mer-qtmediahub到hi3716m(1):mer-qtmediahub的rootfs制作 ubuntu11.10 nfs设置 移植Mer到海思的hi3716m平台 Ubuntu11.10中设置tftpd服务 Intel的Medfield手机平台功耗 用firefox参与freenode的IRC LG的googleTV赌注 HTML5及其对移动产业的意义[2011年VisionMobile十大文章之5] X的DISPLAY=:0.0 hardfp ABI理解 linux下写raw.bz2文件到SD卡
用osc进行基于Mer的开发
sonach · 2012-02-22 · via 博客园 - sonach

本文假定:

APIURL=192.168.129.140:81

OBSUSER=zhanghui

WORKDIR=/home/zhanghui/obswork

1. 设定.oscrc中的username和password

osc -A APIURL ls

该命令会提示输入username和password。成功执行后,会列出obs服务器上所有的project。

备注:如果以前有包含其他obs服务器信息的.oscrc,执行该命令时会报”auth”错误。此时,备份并删除原来的~/.oscrc,然后重新执行osc命令。

2.      创建home:OBSUSER工程

obs系统管理员会事先给每个用户创建该工程.

每个用户都在自己的home:OBSUSER工程下做事情。

3.      Checkout工程到本地并修改工程meta

cd WORKDIR;

osc -A APIURL checkout home:OBSUSER

cd home:OBSUSER

osc meta prj -e home:OBSUSER

下面的meta可供参考:

<projectname="home:zhanghui">

 <title>zhanghui's Home Project</title>

 <description/>

 <person role="maintainer" userid="zhanghui"/>

 <person role="bugowner" userid="zhanghui"/>

 <repository name="MerDS_Core_armv7l">

   <path repository="Core_armv7l"project="MerDS:Core:armv7l"/>

   <arch>armv7el</arch>

 </repository>

</project>

4.       指定本地编译时需要的build-root目录

mkdir WORKDIR/build-root

cd home:OBSUSER

osc config general build-root“WORKDIR/build-root/%(project)s-%(arch)s

5.      创建包

一个工程由众多的包(package)组成。

osc mkpac PACKAGENAME

6.      导入源代码到本地

导入源代码有两个办法:

如果有src.rpm,则可直接导入:

osc importsrcpkg src.rpm

如果没有src.rpm,则把.tar.gz和.spec以及.yaml文件拷贝到PACKAGENAME目录下。

 7.      本地编译

cd PACKAGENAME

osc build --local-package --no-verifyMerDS_Core_armv7l armv7el

如果编译出错,修改后,可用

osc wipebinaries --all home:OBSUSERPACKAGENAME

来”clean”。

此后可重新测试osc build命令。

注意,仅仅当PACKAGENAME没有提交到obs服务器时,才需要使用”--local-package”选项。

8.      本地测试和修改

cd PACKAGENAME

osc chroot MerDS_Core_armv7l armv7el

进入chroot环境。在chroot环境下,可以进行程序测试。

在rpmbuild/BUILD目录下有源代码和Makefile等,可以直接再这里敲make命令。如果chroot环境中安装了vim等工具,可以在这里直接编译代码和makefile。

如果没有安装vim,也可退出chroot环境,在

WORKDIR/build-root/armv7el-home:OBSUSER/home/abuild/rpmbuild/BUILD下面有包的源代码,可以编辑和修改。

9.      提交源代码到服务器

cd PACKAGENAME

osc add *

osc commit -m “message”

提交后,obs服务器会自动编译该包。