我们正在努力对我们的应用程序,RFS,Uboot和内核进行版本控制
我们有一个问候世界计划。每次我们更改(修补)程序的新功能时,我们都必须在版本号的帮助下跟踪更改。我们需要这个版本号(hello world package)应该自动递增。 我们也与Linux和uboot有关。
yocto能为我们这样做吗?或者我们还有其他选择来实现这一目标。 请建议我们,因为我们是yocto所有功能的新手。
答案 0 :(得分:9)
如何执行此操作的完整示例:
重要的部分是SRCREV = "${AUTOREV}"
和PV = "${BPV}+gitr${SRCPV}"
DESCRIPTION = "Hello World"
SECTION = "examples"
LICENSE = "CLOSED"
LIC_FILES_CHKSUM = "file://README.md;md5=8386d486d9e820c480636608de5c2d98"
SRCREV = "${AUTOREV}"
BPV = "0.1.0"
PV = "${BPV}+gitr${SRCPV}"
S = "${WORKDIR}/git"
SRC_URI = " git://example/hello_world.git;protocol=http \
"
inherit autotools
RDEPENDS_${PN} += " \
hello-world-runtime-dependency \
"
答案 1 :(得分:3)
已经pointed out,您必须使用 <p:tabView dynamic="true" id="tabview" cache="true" style="min-height: 500px;">
<p:tab title="first Tab">
<h:form id="form_reg>
<p:panel header="Settings" style="width:50%;" >
<p:messages showDetail="false" autoUpdate="true" closable="true"/>
<p:panelGrid columns="2" id="panel_group" >
<h:outputLabel value="Name"/>
<p:inputText size="60" required="true" requiredMessage="Enter Revenue Group" value="#{mybean.name}"/>
</p:panelGrid>
<p:commandButton value="Register User" icon="ui-icon-circle-plus" action="#{mybean.registeruser}"/>
</p:panel>
</h:form>
<h:form >
<p:dataTable paginator="true" value="#{mybean.allusers}" var="user" id="user_table">
<p:column>
<f:facet name="header">
<h:outputText value="Name"/>
</f:facet>
<h:outputText value="#{user.name}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Id"/>
</f:facet>
<h:outputText value="#{user.id}"/>
</p:column>
</p:dataTable>
</h:form>
</p:tab>
</p:tabView >
。要在每次更新时更改版本号,需要在配方中调整PV变量。
SRCREV = "${AUTOREV}"
您可以查看OpenEmbedded kernel recipe以供参考。
答案 2 :(得分:0)
据我所知,yocto没有内置功能。但是,您可以编写自己的检查机制并将其放在do_fetch_prepend中。然后使用d.setVar(&#39; SRCREV&#39;,myshasum)以编程方式设置SRCREV。
答案 3 :(得分:0)
自动更新选项是设置SRCREV =“$ {AUTOREV}”,然后设置一个脚本,在配方中设置PV和/或PR。更改配方时,它会强制进行提取,AUTOREV意味着它从HEAD中拉出。