本次会议的议题包括:
- openUBMC_SDK方案讨论
- openUBMC studio功能介绍
- 签名机制与CRL文件位置讨论【临时讨论】
- conan仓库版本空间管理优化【临时讨论】
语言转文字留档:
发言人01 00:00:02 这个重黑成龙,你们可以喊一下你们那边的其他人,所以有的话。
发言人02 00:00:46 诶语好诶语好诶诶可以看一下有没有其他渠道推一下今天正好要讲的两个东西还挺重要的
发言人03 00:01:20 后面你这个东西你就早点提醒。我这个是2月份就发了通知了。我的意思就是相当于比如说下午要开这段会,你就上午提醒一下,然后让协议去跟伙伴联系一下。
发言人04 00:01:41 嗯,你也关注一下会议通知吧,都会有的。但是我们再吹一吹。
发言人01 00:02:21 这个我点个名了,稍等一下。华为与会一个,两个,三个,四个,五个,六个。这边有。
发言人01 00:02:41 崇薇和张玄,两个人是吧?要不,稍等一下我点个名,买在上。
发言人01 00:03:01 戴定了那个改革面哦。好。我发是。陈隆后面任凭两个。
发言人01 00:03:20 软通滑方,是吧?困难这边是谁啊?困难是不是没有白信两个?
发言人04 00:03:39 嗯。宝德。宝德自由罗银,是吧?好,那个,华坤。华坤是,华娘。
发言人04 00:03:58 哦,神马。神马是有吗?今天?范春阳。我,我还这个。诶,谁?呃,我春阳,神马。哦,对,点了。
发言人04 00:04:18 武洲这边有人吗?王敏才上来了。那个同派仪。咱们就是……咱们不一定参加。好,恒阳。恒阳有人吗?恒阳也那个。
发言人04 00:04:38 也是啊。我都来了两个,还有少许。白鸥来了吗?白鸥春宝是哪家的?白鸥来了。蒋超和周子彦都来了。
发言人04 00:04:58 好,我先截个图,我看还有兄弟在上来,我只有来了3个兄弟了,我先截个图。我觉得每家伙伴有人在这里,你不用
发言人03 00:05:18 呃,所有的都统计到。没事。那个昆仑来,有人吗?荷兰昆仑?我觉得昆仑没有。嗯,好。行,那我们今天开始了。
发言人04 00:05:33 今天是咱们3月份的第一次联会,然后这次联会的话有两个议题。一个议题的话是我们社区在运动过程中发现我们openUWC开源软件,现在是一个一个独立组件。
发言人04 00:05:52 然后兄弟们要引读的话,实际需要一个组件去修改。所以做了一个优化改进,就是叫openUBMCSDK。它的实现的话就跟IBMCSDK是相似的,就是把开源组件做个工装。
发言人04 00:06:11 然后可以基于sdk做整体的引入。然后另外一个是我们近期在openUbcstudio,就是我们studio名称有变化。然后里面的功能,今天有开来跟大家讲解一下里面的功能。
发言人04 00:06:31 然后第三个就是临时议题,每次都有的。我们各个伙伴针对大家经常遇到的问题,做个内训答疑。第一个议题的主讲是姚舜。姚舜舜舜,你共享一下。大家在这个过程中也可以
发言人04 00:06:53 记录一下你们的一些疑问和诉求。等会我们如果是一体相关的,就直接在一体答复。如果是重新跟一体无关的一些,就放在我们的联系一体答复。
发言人05 00:07:09 好,第一个一题就是说我们最近上了一个openEuelSDK方案的使用指南,给大家简单说一下。首先就是说我们需要有一个前置元素,就是说binger版本我们需要大约等于0.6.158这个版本。
发言人05 00:07:27 我们就说画了一个openEuel。我们目前划定的一个openEuelSDK这么一个组件范围。就是说相当于说这些目前是换了
发言人05 00:07:44 19个组件在里面,相当说这49个组件作为一个openEuelSDK。我们如何去构建这个openEuelSDK?就是说我们只需要拿取manifest,使用BingoSDKBuild。相当说我们新加了一个命令,新加了一个命令叫BingoSDKBuild的命令。
发言人05 00:08:04 这样的话它就会构建出一个类似于IBMsSDK这么个东西。目前这个东西叫做OpenEuelSDK26.0300.01它做版本号是这样的。试用场景是什么呢?就是说当伙伴。如果说就是说
发言人05 00:08:22 不想去频繁更新自己的manifest,想要整体引入我们社区的openEuelSDK,这19个组件你想要跟随时跟社区的社区
发言人05 00:08:37 这个manifest保持同一个版本,你就可以整体引入这个openEuelSDK。我们这个版本的发布是每次就是说manifest主干只要一合入了,我们都会去,不仅仅是主干,包括后续的转为之后,
发言人05 00:08:53 他都会去一合入,他都会去发布一个最新的openEuelSDK。相当于那边,你只等到我这边发布了之后,伙伴那边就说你只要想整体引入,他就能够直接拿到了。
发言人05 00:09:06 这是一个构建流程的变化,就是我们最开始有一个判定是否使用openEuelSDK,如果说如果是有的话,他就会去克兰去你的中心舱拉,当然就是说你也可以指定中心舱为我们社区的中心舱。
发言人05 00:09:25 他会去拉这个openEuelSDK,然后他会去基于openEuelSDK和现有的这个单版的一个manifest.ammer进行一个合并,合并完了之后,他再进行后续的构建流程,当然如果说你不使用的话,他就会去直接去读你现有的manifest.ammer,这是一个流程的变化。
发言人04 00:09:46 在座的伙伴有没有什么疑问呢?我来讲一下吧。还是回到这个事的目的上解决的问题上面来。主要就是把开源软件捆放在一起了。但是这种方案本身它不是强制性的。
发言人04 00:10:05 是可选的,不会影响大家现有的方案,是兼容的。然后这个配置的话是在manifyyaml里面,一个scammer文件已经更新了。大家要更新并购到升级的版本,然后更新的版本以后,然后scammer里面基于我们以前讲的yaml的插件。
发言人04 00:10:24 它会自动提醒大家,大家可以通过补权的形式或者输入openEuelrSDK,它会自动给你补权,也会告诉你每一段该怎么配。刚才实际讲的时候,openEuelSDK里面,我们有另外一个场景,就是这个manifize场里面自带openEuelSDK这种。
发言人05 00:10:43 杨顺,你说了一下,你讲一下那个场景。就是说,如果说我们manifest上自带open,就是类似于这种。就是说,如果说你的manifest上面有一个SDK文件夹,它里面就相当说是配了manifest,包括后续如果说logfile,我们也是支持的。
发言人05 00:11:02 你就只需要。我们相当说在构建做了一个特殊的约定。
发言人05 00:11:11 在这里配置了一个openSDK只要就是说我识别到有一个latest的字样它就会相当说它就会直接去用配置文件和我现有的manifest进行一个合并
发言人04 00:11:24 他相当说就不会去走你这个克兰中心上拉包这种形式。相当说他就会,这就是一个我们的一个兼容性的方案。这种场景在构建的时候,在manifest构建的时候,他会自动构建OpenEuelr的SDK。
发言人05 00:11:46 不是,他是会直接去把manifest跟进行一个合并。他将来说他就直接通过是省了构建这一步了。明白了,上次提了要求。
发言人04 00:12:00 当时说是直接够用个包,现在看是不用够用个包,直接简化一步了。这个的话对大家还是有些优化提升的,但是这里面如果说大家开源软件那部分有修改,
发言人04 00:12:20 那你就参考现在这种方案,就是放在在必要的目录下面的sdk目录,然后在里面把manifyyaml和clinfile直接复制,从社区复制过来就行,是吧。但如果说你
发言人04 00:12:36 你引入的开源软件就是个整体。就openEuelr的stk那部分是个整体。你可以把stk给删掉。这里面实际容易产生一个兄弟们可能不一感知的一个错误。比如说你manifest在yaml里面,然后改了。然后这个改动
发言人04 00:12:56 和你当前声明的版本,它不是latest,是吧。比如第9号,现在的第9号,它不是你最新的这种特殊版本号。但这时候你的逻辑就应该是要先在SDK里面或者在manifest里面构建。这个构建SDK的命令要订购SDKBuild。
发言人04 00:13:15 可以用bingo刚刚help去查看命令帮助。然后这条命令会构建出stk。然后第九行再去精准引用它的stk。大家看一下这个发言没啥疑问。
发言人05 00:13:41 我想问一下就是openUBMC的SDK和上面的IBMCSDK的关系是什么?这个相当于说是一个每一个Q我们就是说外发的一个黄区的一个就是所有的B原组件
发言人05 00:13:59 B1组件一个集合,叫做IBMUSSDK。IBMUSSDK就是我们最新化的,你可以认为这29个组件的一个集合。明白了。
发言人04 00:14:15 所以IBMsSDK和OpenEuelSDK它里面存在的内容是完全不一样的。像IBMsSDK里面它存在了我们的编译器,存在了我们的组件,存在了我们的一些定制化,还有一些像
发言人04 00:14:31 就是内部内部底层的一些东西都在IBMCSDK里面打包。而openUBSSDK本身,大家也可以看到配置很简单。它实际上就是一个主件的依赖。我们引入了一个openUBSSDK的主件,这个主件有一堆依赖。
发言人06 00:14:48 然后我们把这些依赖去柯南的自动依赖管理,把它给拉进来。类似是这样。海权哥,open有BMC的sdk,这是不是开源的那些组件仓?
发言人04 00:15:06 从大的yml文件里面给挪到这了。是其中一部分。但是整体逻辑是这样的。你看左边manifyyml上面product,你以前这些组件都放在里面描述的,然后你点开。
发言人01 00:15:28 好是挪出去一些。但是感觉你没挪拳。
发言人05 00:15:42 LibiumCPP这几个是因为它涉及到底层的,它的编译很慢。因为当时跟他们来向这边说的是,它这边如果说存在一个社区和避原的一个差异,它可能会缺包。缺包的话,它会导致一个编译速度
发言人04 00:16:05 这个我们也在分需求,我们也会增加一些像世界开启的这种方式来加速这个构建。那海舅哥,他在罗数最的好处是啥?罗数也好处在于你可以那些一键引入了,比如说,
发言人04 00:16:22 比如说你现在在2603这个版本上演进,是吧?你manifest的描述的是2603的sdk。如果你临时的,你要以2606或者2512,他的sdk开用轮件。
发言人04 00:16:38 那你就可以在那里面去接引。它当时发布的时候,对啊,现在sdk,你切到刚才sdk的这个里面虽然看起来没有版本号,是吧,只有个组件名,下面的版本号组件。
发言人04 00:16:52 但实际下面这些组件的版本好。因为为了保证习惯的延续,我们没有去改它。还是在左边subsis里面。如果你用bmc,用bingo,sdkbuild的这条命令去勾建的话,
发言人04 00:17:05 它会自动去把这个版本号给集成过来。然后它对外发布的这个sdk里面是带着组件名加版本号的。所以相对于就把它们完整的给封装起来了。然后这个本身也是个克兰包。然后你可以上传到克兰卡里面。
发言人06 00:17:23 哦,懂了,就是相当于一个大的版本号里面的那些指的那些各组件版本号把它们临时,就是编成了一个大的版本,这样的话可以比如说要往回去编别的一个基础大版本,直接去拉一下这个大包就ok了,对吧?是的,是的。
发言人04 00:17:43 这就是一般来说像第7行这种版本号。在华为的话,它实际后面还有一点币多少,对吧?第几次构建这种类型。实际我们的实践是建议大家要时不时要去维护这个版本号。大家要设置里程碑。
发言人04 00:18:00 然后基于这个b多少多少,然后我就可以区分。如果哪天我需要回退的时候,是吧?比如说我b001,b02,b03。如果哪天我要回退到b001,我现在已经已经到b03了,我要回到b001。以往的逻辑就是你要,要不是reset代码过去,是吧?要不就是你把那个版本号改回去。
发言人04 00:18:20 现在的话你就可以把product下面的manifest.aml改它的sdk版本号了解这里面
发言人04 00:18:35 就是BMCBingo那个BingoSDKBuild命令构建出来可难包。大家有需要就可以上传。这个上不上传就看你左边引用的地方是不是用精神版本号引入了。如果是精神版本号引入了,建议大家上传。特别在多人团队里面,大家是需要共享的。
发言人04 00:18:59 这个方案实际上还有一些潜在的,跟柯南相关的。我稍微讲一下。柯南有个机制叫缓存,放在第二克兰2P里面。如果缓存存在的时候,
发言人04 00:19:14 比如一个版本号叫stk写画26.03.00.01后面有一堆at后面有一堆。这个版本号它如果在航空里面有了它就不会去远的下载。所以如果大家的版本号比如像现在描述
发言人04 00:19:31 然后在MindifyYAML里面也用了精准版本号描述。这种场景有可能你本地有了,那么它就不会更新。然后如果你远端是基于同一个版本号,一直在演进,那么开发者在本地有可能拿不到最新的。
发言人04 00:19:48 所以这种场景我们建议的是在manifyyaml里面用latist这种描述去声明它,我要用当前最新的。这样的话就跟随你代码眼镜。
发言人04 00:20:08 全部可以分屏了,拉到边缘。是吧,就是上面这种,第9行。第9行这种nartist,它实际是个实时的引用。引用的是你当前这个
发言人04 00:20:27 manifest里面的版本号啊,但如果你用的是精准版本号26.03.001那这时候如果本地一旦有一个包了,他就不会去下载啊,给这地方是一个注意啊,
发言人07 00:20:44 海军哥我问个问题,如果你openUBMTSDK的,比如说它整体的版本号我没改,但是我把它下面某一个组件的版本号改了,那么这样它用的时候它能识别到这种改动吗?可以的。
发言人07 00:21:02 你说的是稍等一下我确认一下你和场景你说第7行你改了它的版本号吗?就是这个版本号我不改然后比如说我把它下面加数的比如说我把vpd的版本号改了就我现在把它
发言人07 00:21:17 这个改了,但我不改openUBMGSDK的版本。那么这样你去引用的时候,它能识别到你这两个东西是不一样的吗?如果你第9号应用的是现在描述,左边,那么它一定能识别到的。
发言人04 00:21:33 因为它本身它没有去发布你的sdk包,它是直接从你本地的配置里面去找的,直接合并的那种,它是可以的。但如果你是用的精准门门号,左边地就好。这种情况下,你一定要先构建这个sdk,然后它才左边那个
发言人05 00:21:52 那才能获取到。是吧?当然了,如果说这位同学,他的意思是他想要覆盖openEuelMSSDK里面组件的版本号,比如说我的vpt是1.0.0,对吧?比如说你的意思是,我不知道你的意思是不是说你想要manifest使用2.0.0,
发言人04 00:22:10 如果说你是这种情况,其实你完全可以在这里给它覆盖一下,写个VPD2.0.0,也可以生效。这就是对OpenEuelSDK做定制的方法。如果说你基于我们的SDK某一个版本眼睛发现一个缺陷,然后你又不想大动干戈,是吧?
发言人04 00:22:29 你只想改其中一个组件,那么你就可以按照以前我们定制化的逻辑,在左边的27行可以单独针对这个组件去定制它版本号。这种就是vpdXXX,你声明一下客栏vpdXXX,然后我们使用的时候,
发言人04 00:22:49 它优先级的话是越往上层,越靠近产品,越靠近最重要的包,它的优先级越高,这种是可以覆盖。所以如果说我们有几种场景了,一种场景就是你日常的眼镜,像现在的这种配置,日常眼镜,大家就去改softtest里面就行了。
发言人04 00:23:09 Lattest会让它强制使用最新的版本。如果说你是第九行是版本号的那种,那你一定要先发布这个版本。
发言人04 00:23:19 如果是别人发布,你要引用的话,你可以尝试用科兰remove这条命令,把本地的缓存给删掉。就是openUbsiteSDK这个缓存删掉,强制让它去拉你科兰操里面最新的。这里面又涉及到科兰的基础知识。
发言人07 00:23:40 其实我是想问相关于我这个openEuelr的SDK里面的东西我改了但是我忘记改版本号了我是想问他这个东西他能教验出来实际他里面的东西是不一样的吗?这个不会教验的
发言人07 00:24:01 因为比如说你某一个组件,哪怕你比如说你改版本号,它应该是会教验,然后它是能够发现这两个可难包实际上是不一样的吗?
发言人04 00:24:16 呃,就是你说的是左边第九环境的是版本号那种场面是吧?对。嗯,这种的话它没有。因为这种它是把构建,就是sdk构建和manifest构建分开的是两条命令,并没有合在一起。也就是说manifest
发言人04 00:24:34 构建的时候,它不会强制去构建一次BMCSDK。
发言人04 00:24:50 这里面我们也可以看一下有没有优化空间。如果说强制构建,它也会带来个问题。如果你就是想用远端的克兰包,对吧?我就是想用远端的这种场景,可能你就没办法。你永远会被本地的配置给覆盖掉。
发言人08 00:25:09 行。还有吗?其他兄弟。我看郝伟,你是后面上来了。不知道你听了没有。我还敢说,这个openUBMCSDK和上面的IBMCSDK是什么关系?我前面没听到。你上来晚了。
发言人04 00:25:29 再讲一下,IBMZSDK承载的它不只是一堆组件,它是我们的平台。这个平台是有我们的编译器,有我们的apposSDK,对吧。还有一些裁件,系统性的裁件组成的。它是个整体,它是构建了我们的一个底座。
发言人04 00:25:46 而openEuelrSDK只是为了方便我们做储件管理所以我们把一系列储件放在一起作为一个整体管起来那我就可以通过整体去不断去升级去演进去回滚就不用像以前你要一个一个回滚
发言人04 00:26:04 像以前你要回归比如说我要比和去年12月份的sdk构建那你以往的操作你就得一个一个去修改开源代码的组件。将来的话你就可以直接去引用2512。当然因为我们现在是抠1才引入的
发言人04 00:26:25 以前的stk是没有发布的,你可以找不到。但是等你眼睛呢,比如6月份,9月份,你要用3月份的stk的时候,你可以直接把左边的版本号,第9号那个版本号logist改成25.26.03,这样你可以整体去回馆。好吧,好呗。
发言人08 00:26:45 那我理解一下,是不是假如说我们就比如说我就基于26003,我什么组件都不改,那我是不是sub-sys那边组件版本都不用写了,那莫就用这个里面的。你看第10号,右边第10号往下,它没带版本号的,它的版本号还是来自于sub-sys里面,
发言人05 00:27:05 如果说你是latest的这种,它肯定是来自那边。但是如果说你是直接带版本号这种,它是可以实现的。我先讲一下,OpenUbcSDK,它有个发布件,是个克兰包。那个克兰包里面的储件,
发言人04 00:27:25 是补权了的,是补了它的版本号,补了它的userchannel的,vpd写画后面是版本号atopenopenc,写画stable,是吧。你这个sdk发布的时候,它是做了补权的,是个完整的清单,完整的依赖。然后你如果是通过版本号引入的时候,我们构建的时候就会去远端。
发言人04 00:27:44 去拉取你的科兰包,openUbuntuSDK的科兰包,然后找到里面的组件和版本这些信息,然后补全到我们产品里面去。所以如果你是通过精锐买卖号去依赖,那么它就只需要依赖远端的科兰包就行了。但是如果你用latist这种,
发言人04 00:28:03 它的依赖是从本地重新去生成的,这时候它会读取右边的文件以及subsys里面的版本号,然后组合成最终一个完整的依赖。这个地方有点不辣,你可以再理解一下。后面社区上面会有文档吗?
发言人08 00:28:22 就是这个机制,它写的效率比较简单,所以为啥要大家一起再看一看呢?到时候顺利也可以再补充一下,结合大家的讨论。对,可以再问一下,IBMCSDK相比之前的IBMCSDK有变化吗?因为你刚才说到它是个平台,把编译器那些东西也包进来了,没有变化。
发言人04 00:28:42 没有变化。编译器那些东西还是需要我们部署到rootSDK上的。也不是。之前讲过这个方案,其实我们manifest在社区的话,因为一些原因它是没法上线的,我们有个功能。
发言人04 00:29:01 你manifest它支持一个叫download的描述。它可以自动去下载。你可以看一下bingo。bingo它是上次我们专门讲的这个方案。是wget那个吗?download给个地址那个下载。对,然后你可以描述它是stk什么的。
发言人04 00:29:21 然后如果你们用,我是建议你用那种方案,你们在本地合入修改,然后把那个sdk上传到你们的文件服务器,是吧?然后让它在构建时自动下载,这样的话你可以归依你的开发环境,对吧?而且sdk这套逻辑相对来说比较复杂。
发言人04 00:29:40 我们经常先遇到的问题就是开发者的stk和manifest不匹配导致缺包。建议是直接去描述好然后每个伙伴你有一个人
发言人04 00:29:51 或者有一两个人熟悉它的你去负责这个sdk引入引入完以后其他兄弟一核代码对吧一更新代码他就拿到你最新的那套逻辑了是吧不用让每个人都去了解这个很复杂的AppleSDK的逻辑
发言人08 00:30:07 其实我们也遇到过,一些开发遇到问题了,说SDK说不太清楚,一个是柯南的IBMCSDK,然后现在又多了柯南的openUBMCSDK,然后又多了JIP包的安装到编译环境上的SDK,他们很多都搞不清楚。
发言人04 00:30:24 这是个问题,这个sdk命名过于通用了,但是现阶段它已经形成一些习惯了,我们暂时也不准备改它。其他还有吗?长江这边。
发言人09 00:30:43 海哥,我问一下,我大致理解是不是这个意思,就是在柯南这个地方,你写固定的版本号相当于说它是从柯南远段拿了一个已经编好的一套STP,它也就不会往那个substit下面去再去做
发言人09 00:31:01 如果这边是确定的,而且看来远端有这么一个高度的话。是的。那我们每次去……那这样存在一个发布openAUM-CSDK的这个过程,这个过程也是用Bingo去发布吗?对,它命令叫
发言人04 00:31:18 并购、空格、STK、下滑线、build。那从某种程度上,我们去发BMC的版本的时候,就同步去发一个STK。对,你们流水线要,如果你们要引入这个,建议你们流水线要增加这样的逻辑。
发言人04 00:31:36 而且建议大家把第7行的版本号给维护起来,实际上变一下。比如说一周或者你们的关键里程碑,去变一下它。那第7行的版本号和BMC自己的版本号是一致的吗?
发言人09 00:31:56 没有必然关系,没有必然关系。那BMSSDK,BMS那个版本号在第15号。所以这个SDK是另外一套,我大概明白啥意思。
发言人09 00:32:13 那这个地方如果写的是latest的话那就相当自动的就去这个目录这个manifest.yaml这个sda这个目录下面去去走去拿相当于说那latest就像是重新构建吗?它不是拿现有的吗?
发言人04 00:32:33 它实际在实现的时候比较特殊。Lattice本身也不会去构建你的sdk。因为这套逻辑它直接穿透你的科兰内称逻辑,直接到你的manifizer.yaml,右边的文件里面和subsys里面去组合的。
发言人09 00:32:51 所以它不会去构建你的SDK,也没有这个openEuelr的SDK的客栏包。那我能不能这么理解,那左边的这个manifest现在已存在的这个组件名的话,是不是都算避远的?那个左边吗?就是左边的这边是不是都是避远的?我看也不是,我看有些
发言人09 00:33:13 那这个区分呢,就是哪些组件在这里,哪些组件在那儿,这个有没有通用的一个限制,或者说好像有没有,反正能两边保持护士就可以,还是说有一个通用的规范。
发言人05 00:33:34 它是这样的,就是说一般来说这个IBMTSDK里面它其实有一些避原组件,你和这个OpenEuelr的SDK里面它保持一个互斥就行了。他就说你产品再再次声明的话,它就会进行一个覆盖了。
发言人05 00:34:03 这个优先级刚刚我好像听得不是很明白,哪个地方的优先级是最高的?这里面的优先级是最高的。我讲一下,优先级的逻辑是这样。
发言人04 00:34:19 就是越靠近产品的配置优先级越高。那哪个是产品呢?你拿到最下面。拿到最下面,左边。这是我们的support和manufacturer里面的这种。就是拿到最下面嘛,你就往下拉嘛。对,就是说说e和manufacturer这两个。
发言人04 00:34:39 一次构建的话,我们只会构建其中一个,这个就是产品。在这个地方如果有定制,那么它的优先级是最高的。然后就是这个文件里面dependence,就是上面刚才那个dependence,这个优先级是自知。然后剩下的才是个sdk和
发言人04 00:34:58 就是两个sdk。应该openEuelr的sdk优先级比IBMC的要高一些。但是这里面因为openEuelr的理论上它不应该存在删除这些操作是吧。它直接往上它两个应该是互斥的。我们现在应该不会不至于把两个做到有交集是吧。对。
发言人09 00:35:21 那IBMsSDK里面好像会存一些关于避远的组件。那就是避远的,那部分我们没动,我们并没有去改变IBMsSDK的设计。好,没请问问。
发言人07 00:35:38 就是他刚才问题,你这个VPD,你看你这个左边37行也写了,右边第10行也写了,这个有必要写两遍。这里就是说我们只是说声明了一下它的特性,就是说,
发言人05 00:35:53 比如说我的vpt运记可以看到我右边我是并没有生命它的特性的。比如说
发言人05 00:36:02 如果说没有的话,它是个默认特性。相当于说我这里只是说单独生命一下它的特性。当时就是说我产品使用的话,我只是说我会覆盖一下它的特性而已。它版本还是用的是右边版本。
发言人09 00:36:17 有没有这种可能就是产品这边我这边写来VPD你看这Option我也加了吗但是那个openUVMSDK那边我没写VPD那这种还是以产品这边的为止对
发言人07 00:36:41 比如说你openUGMCSDK里面这个option是写了另外一个,比如说它里面写的不是openUGMC,最后构建出来的它会是哪个option?
发言人05 00:36:55 他反正他会引你刚才的君哥已经说了,优先级最高的是下面的,就是说兔斯尔PolE和manifedFigure在这一坨,自知的就是这里。相当说如果说你这里声明了,他肯定现在现有的约级最高的就是这里了。
发言人04 00:37:15 那再次是不是subsease那里?subsease里面没有。subsease里面是没有option的号。假如这里带版本号呢?版本号的话,你拿个位置。这里是不是也可以带版本号?可以的。
发言人08 00:37:35 戴版本号的话,以哪个为修箱?先是下面的tosupportE和manufacture,然后再是这个文件,然后再是substance,然后再是右边的不,刚才已经说过了,你可能理解到还是没有理到,你如果说戴latest这种,
发言人04 00:37:53 他才会赢得subcess为准。如果说你是在固定版本号的话,它是从你远端去拉的。然后在dependence里面,比如说在26号那个dependence顶层的你描述的版本号,那么它就会从顶层按照刚才优先级,谁先找的版本号,还以谁的为准。
发言人04 00:38:13 它是整体覆盖的这种程度,比如说27行,或者34行,你把34行的firmaryamendment它带了特性。这个特性它现在是整体覆盖。也就是说比如说下层有firmaryamendment,
发言人04 00:38:33 那么它34行会直接往下一层替换。如果你最顶层就优先以最高的带百分号,那么它整体就以最高的为准。实际就是谁先找到百分号,先算谁的。
发言人04 00:38:50 就优先级是保持一致的,越靠近产品越高,包括option�包括克兰包里面的朋友。
发言人10 00:39:06 我可能有一些信息没听到,我是确认一下,你像IBMTSDK,让我们用的相当于是固定的某个发布的版本。
发言人10 00:39:19 然后是不会变化。我是有点没理解到,咱们openUBMCSDK,这个文件里面包含的这些组件,我觉得好像是
发言人10 00:39:32 它很有可能是经常变化的。为什么我们搞一个openUVMDSDK的目的?
发言人05 00:39:52 这个其实说白了,我们不是一个强制伙伴要用的场景。我们的目的只是说
发言人05 00:40:02 你也知道我们南区现在就说我整体维护一下这个sdk,我们可能有一些场景它需要我这部分组件跟南区保持一致。你可以这样理解。如果说你存在这种场景的话,
发言人10 00:40:19 我们是比较推荐你去使用这个openEuelrSDK这个方案的。那是不是意味着相当于开源组件里面的就比较稳定的这个版本?不是,我们回到这个设计初中了,我相信这个场景大家都会遇到。
发言人04 00:40:38 我们社区在演进,对吧?我们的伙伴有可能记录我们社区也在演进,包括华为我们自己也在演进持续集成。以往的话我发布一个组件,我组件版本好变了,我要改两个地方。一个就是我们的manifest,社区的manifest,
发言人04 00:40:59 另外一个是我们自己在内部私有的manifest。这两个地方我都要改,它就是成本。我能不能只改一个地方?现在我们的方案就是你在社区就改这个manifest。改好了以后,它会
发言人04 00:41:16 在构建流程里面发布一个叫openEuelrSDK的课堂包。那么华为它内部跟随社区的版本,它就可以直接引用openEuelSDK。它就不再关心你里面每个组件的版本了,我只关心的是你整体。
发言人04 00:41:34 如果你社群内容变成2603.00.020304这个sdk那我内部相应的我只是改一下那个sdk的版本sdk的版本号变更我们现在做的是比组件版本号变更要缓慢很多很多这样的话就减少了我们去做代码同步的成本
发言人04 00:41:54 实际上这个代码同步层门看起来好像不就是一个组件版本,以前是一个组件版本,现在变成openUPSSDK版本好像没啥变化。但实际在我们内部运作起来看,对于开发者,因为每个开发者每个组件每天都在发生变化,每天都在产生一个新的组件。
发言人04 00:42:12 每个人都要去核两个地方的话,这个成本就非常高,而且极易产生不一致。也就是说可能同一时刻社区构建的包和华为跟随社区得到最新的组建版本不一样。因为我开发者合作MR是有周期的,同时体验也有周期。
发言人04 00:42:32 甚至于演变到极端情况下,开发者就不去改社区的maniface亚美尔,我就改本地了。因为他发现,好像我解决问题,我解决自己的问题就行了。就导致这个稳定,缺少人维护。它是一个整个
发言人04 00:42:48 是我们基于效率,基于我们的运作过程中识别的一些问题的改进。所以你要说这个地方有没有什么根本性的关键的核武器?没有。很简单的,就是一个很简单的去把它封装。大家可以用,可以不用。
发言人04 00:43:09 了解了。我看这个议题时间可能也比较长了,是不是进行下一个议题。大家可以再认料一下,然后我们可以再专注这个答疑环节。可以再讨论。
发言人04 00:43:26 想请这个问题,它一般组件下面的option,它可以选择值有哪些呢?每个组件它有个service点击闪,等会的话我们兄弟会演示studio,studio里面它有个功能可以帮助你去查看它模型,在模型里面实际上是对这个
发言人04 00:43:45 每个opsy是有单独的一个service点击成文件描述的你们开发组件也知道这个文件嘛是吧所有opsy都会在里面描述当然如果它没在里面描述那可能就在clientfile里面描述等会儿可以看一下好吧连接好的
发言人11 00:44:05 好,再来一点是开来。好,我来讲一下我们studio这边
发言人11 00:44:21 新开发的模型管理插件,还有它和之前有提过的CR插件,它有特意展示过CR插件的联动的事情。首先我想先大概介绍一下我们模型到底是啥,这段话是我从官网上面引用过来的。
发言人11 00:44:40 我们组件里面不都是有那堆模型吗?大家应该开发的时候都会有
发言人11 00:44:47 修改过,对它有大概的了解。从我个人一个浅薄的理解来说,它就是对于组件,它对外提供的一些特性和能力,它通过这一堆模型文件去描述这个样子。
发言人11 00:45:04 这个东西在我们开放中非常关键,所以我们特意设计了一个插件去把它进行管理起来。中间当然包括一些后面的在柯南中心仓里面增加模型的硅档之类的。
发言人11 00:45:23 使用它来说我们可以通过模型的插件去把贺兰中心仓里的模型把它给拉下来,拉到本地,然后本地我们可以去查看它或者去可以去修改它,如果有需要的话。修改是归档它,不是归组件里面新的,然后另外我们也可以
发言人11 00:45:43 我们在Bingo里面也增加了出包的时候自动在本地的克兰缓存里面去归档一份出包时候的产品的模型。我们有这模型之后到底能干什么?
发言人11 00:45:58 目前的话后续肯定还有更多的用法,现在目前的话我们CSR检查杂件支持了通过硅档的模型去用最新的模型去检查我们的CSR文件,就这个样子。
发言人11 00:46:18 以前我们是使用一个路径的方式去提供,这个东西肯定是不够方便。对于大家来说,比如说我们模型有更新了,大家要手动去改路径或者什么复制修改文件。现在这些其实都不需要了。
发言人11 00:46:33 我们可以直接选择一个模型去进行调演。现在我来给大家演示一下到底做了什么。其实很简单。我们在插件安装之后,
发言人11 00:46:52 我们这边右下角或者说左边它就会出现插件相关的状态栏或者提示什么的然后可以直接点击添加新的配方我们就直接可以在这边找到我们的柯南远段这是柯南原生的远段下面两个是
发言人11 00:47:11 我们有bmc的源端,我们就点击OK,它就可以开始搜索了,它就自动搜索,这些全都不,然后接着点,接着点。这就是我们归档的中心仓一份模型,现在这个版本2603这个版本,然后我们直接点击就可以。当然我之前
发言人11 00:47:29 已经下载过了,如果没有下载的话它会直接下载一遍。然后我们就可以把它切换过来,切换过来之后我们发现这边左边我们会看到它的资源协设接口,还有协设接口的
发言人11 00:47:48 具体的信息,我们可以看到比如说pdiisdata这个接口下面也对属性之类的。另外的话就是练材检查插件这个东西。现在跟它依赖着模型的管理插件,它可以直接从这个模型
发言人11 00:48:08 去获取它的schema。你跟兄弟们讲的是什么安装吗?你是直接讲了功能吗?确实我自己讲功能。但是安装的话,大家如果下载我们studio,然后它会自动的在
发言人04 00:48:28 大家打开,它会自动预装在里面,预装在studio里面。你讲一下,你不要一句话需求,你去report.openemail.cn里面给他们演示一下工具现在在哪,是吧,现阶段他们正式发布,是吧。好的。
发言人11 00:48:49 想要下载的地方在瑞寇.opubmc.cn,然后再加点tools,里面会有obmstudio,然后这里有个download字。
发言人11 00:49:07 当然我们下载肯定下载最新的,大家把这个.exe下载之后直接打开就可以了,双击它就会开始安装了。安装流程之长,然后安装本身的话,它其实应该就是一个普通的Windows安装。
发言人04 00:49:31 单装完以后,然后它会直接有一个openEuelrmc的图标,然后大家双击打开就行了,跟你在Windows程序的认识区别。大概长这样。
发言人04 00:49:45 但是你刚才应该没讲登录和模型这块吧,讲了吗?登录和模型,有没有讲登录,有没有讲后续模型?有讲后续模型,登录确实没讲,登录是有一个登录的插件。
发言人11 00:50:05 登出一下,右下角,然后我们可以直接登录。登录的是我们的openUPMC,登录的科码包这些都会维护起来了。是的,它就相当于我们大家之前1.py之前的时候不是要提供的账号密码,其实这个时候就
发言人11 00:50:25 有这个之后,它就是相当于把那个东西弄得更加简单一点。我们为啥要登录?这个是登到哪里去?登到社区去吗?对,这个就是在本地去认证社区的克兰中英康。
发言人11 00:50:45 这两个中心仓是需要登录才可以从里面获取东西的,大家平时可能感知的不是很多,尤其是登录的工作是一面点py帮忙做好的。
发言人04 00:51:03 嗯,对,就是这个样子。认识完以后,直接就要选模型,就是Visa有选模型,在那边也稍微解释一下。实际上,BMC可以理解为是个模型驱动的一个开发。不管我们的sorryjson,fmijson,还是我们的
发言人04 00:51:21 MDBinterface这些,里面都存在了我们一些组件的关键信息,然后需要基于模型,我们去获取到它的这些比如说一个属性,它长什么类型,它描述是什么,这里面是需要去获取模型的,然后获取模型的方式就靠右下角的点击。
发言人04 00:51:41 然后现在的话,组件在构建的时候,这个是会构建出这么一个metadata,以metadata开头的模型。这个模型大家可以上传到自己的客观仓里面,也可以单独上传,也可以不上传。
发言人04 00:51:59 我们建议是要上传,因为你只有上传以前的共享嘛。在这边的话,就平静了以前的那种叫圆满部署的那种方案。通过这个模型,它可以做到更经典,更高效。然后你更新这个模型也比较简单。
发言人08 00:52:19 就选择新的版本就可以了。我们一定要到社区的中心。因为我们一般开发的时候是在我们自己的柯南remote那边去搞。不是这个样子。它插件它是会检测你本地的柯南的中心仓的
发言人11 00:52:38 就是多于哪些中心仓它又会自动显示在显示在这里。明白你意思,就是支持我们自建了。对,他说白就是你柯南配了什么中心仓,他这里就显示啥。好的,继续吧。对,这也没什么了。
发言人11 00:52:58 就是可以支持大家,比如大家开发CSR的时候,需要获取最新的模型,检查会更精准之类的,反正就是可以简化大量的操作是这样的。
发言人08 00:53:15 我问个问题,之前我专插件的时候,他好像每次编译的时候都会自动归展模型。我提愿这个插件,右下角就弹窗,在归展什么MDS到本地路径。现在他还有这个机制吗?
发言人11 00:53:32 那个插件是另外一个插件,那个插件叫codeX,可能这里我看这里有没有。对,codeX插件它是会归档的。对,codeX是会归档的,但是我们走的是另外一条路子,我们是通过Bingo在购建的时候进行归档的。
发言人08 00:53:54 就不一样了,就是靠插件,现在是直接融到构建流程里面去。明白了,现在还是每次构建触发硅档,然后硅档到本地路径,还是说只会从remote那边拉过来?这是两个都有的。
发言人08 00:54:18 比如说我在拆发的时候可能会频繁的切仓库,切分支,然后这样每次勾结人都会规短一个数据。他怎么知道我的?比如说我manifest可能切到了分支A,但我另一个比如说networkadapter,他可能还是在分支B,
发言人11 00:54:35 这个问题它是怎么解决的?这个问题它完全这是柯南解决的问题,倒不是说我们插件没有解决,插件不是很感知这个问题。
发言人11 00:54:48 因为柯南对于你不同的构建的数据圆码还有那些一堆参数它会有不同的hash所以它会在本地呈现出来它就是不同的包
发言人08 00:55:09 没太理解,可能是我问题问错了,并不会有这个问题。对吗?再问一下。
发言人08 00:55:20 比如说我在manifest的master的分子,我搞了一个,它归档了一次mds,这个模型肯定是针对于所有组件的master的分子,分子一样的,它才有效。然后我又在manifest切了一个分子,比如说masterB分子。
发言人08 00:55:38 那他又归档了一次模型。那你现在你的路径下有你归档了两个模型。但是对于那些组件仓库来说,他怎么知道我对应的是分之A的模型还是分之B的模型?这个是怎么区分的?
发言人04 00:55:52 实际上这里面有个分级的概念,就是组件级,它是看不到产品的。也就是说组件天生,至少对通用的组件来说,它天生的就是瞎子,它不知道谁集成它。理论上它可以被任何人集成。因为这时候如果你这个组件,比如谁杀的,对吧,
发言人04 00:56:11 你要去跟产品做匹配,那你人就要在里面起作用。你要告诉他,我要用那个模型的教研。所以这时候,你应该在右下角去选择你想要的模型。所以这里面这个模型名称里面包含大马米尔,包含马门号码。
发言人04 00:56:28 这样你可以直接就看到说我要开发的是哪个产品的哪个版本然后用这个产品这个版本对应的模型然后来做校验至于说你这个版本里面有什么样的组件这个组件用什么样的分支什么样的版本本本身在你产品集成的时候你应该知道的
发言人04 00:56:48 它并没有要求说这个组件它一定是market分支或者一定是什么其他分支。所以在组件起,你就靠人去指定你要用哪个模型。这个模型,右下角这个模型它是按什么东西来分别归档的?
发言人08 00:57:08 就是我现在看它有有版本号有那个metadataopenUbpDef的这个好像是克兰里莫特的名字吧?所以它是按克兰里莫特干版本号去问的是吗?不是。嗯,这个是版格卡吗?这个是构建类型,然后这个是版本号。我先解释一下。
发言人04 00:57:25 metadata这是一个关键的前置词。这个词是用来区分的。只有产品级的模型才会用它。openUbmc是你的单版面。就是什么泰山什么的。然后default是你的2supportE或者2GDP里面前面的key。
发言人04 00:57:44 好吧,就是你的发布包。所以这里面,你就是极端情况下,你可能有很多个0502,对吧?这里面会有很多个。因为我们为啥考虑这个点,就是因为对于包,它可能会裁件,是吧?对于不同包。所以这里面,但是一般情况下,
发言人04 00:58:05 可能大部分都没啥问题。它这个命名不体现分支,它是怎么区分不同分支的不同模型?区分不了,只有版本。你不同分支,理论上你版本也一样,对不对?
发言人04 00:58:25 因为分字这是个组件,这是代码仓的概念,对吧?你随时可能变,开发者在本地。同时我们在做,因为这个包会上传的客栏仓,你通过分字去命名,本身就
发言人04 00:58:40 嗯,不是那么,感觉怪怪的,不是一个维度。嗯,在产命维度,ok。嗯,那你这个版本号是自动生成的,还是在拿指定的?就是manufi.com生命的产命版本号。好。
发言人04 00:58:57 诶再问一下这个模型的作用现在主要是用来干嘛的?所以又回到刚才那个开栏你那个模型的查看你把那个功能演示一下让大家看一下模型里面到底有什么?可以可以就是在点这个左边这个侧别侧别栏的时候可以打开这个
发言人11 00:59:17 模型的查看页面,然后然后你的模型不对啊MDS文件那些你没显示出来吗现在有的在左上角那个文件夹的那个图高区
发言人12 00:59:29 你点一下左上角的文件。它可以直接打开你的原始文件。我们相当于最原始的MDSMDB做了一些预先的合并。就把它的interface,pats,还有model.json里面的定义细节全部都合在一起。
发言人12 00:59:47 就后面那个页面可以查看一个pass的合并后的内容,像这地方就是你的原始数据输入,其实就是MDS和MDB的这些内容。对,刚才讲的那个组件option,就是它的service.json里面的描述的,比如说你到左边的service.json,
发言人04 01:00:08 这时候你看它这个option,看到吗?第10号,这个地方你就是用来描述这个特性,这个组件有什么特性的。有特性的,如果它对外声明的,除了有几个公共的,就是叫manufacture,也是公共的,那部分是单独的在Bingo里面去声明的。
发言人04 01:00:26 其他的真量特性都在这儿。所以刚才是不是好为你提的还是谁提的?怎么看到有人特性就在这儿看。正好,韩正哥,我想问一下option现在是不是不支持列表?
发言人07 01:00:46 这个第十二行不就是个列表吗?哦,不行,这是个选列表,但你实际给它复制,你只能复制列表中的一个。我们现在只支持一个,现在只支持一个。
发言人07 01:01:04 如果我想附多个,是不是最好的办法就是把它拆成多个?对,拆成多个。所有的option是不是都统一在这里去修改?不用修改,这个地方更多是个查看模型。
发言人04 01:01:23 修改是在组件构建的时候,你去新增或删除,那是在组件的构建代码或者server.js里面做的,然后用的时候是在manifestor.yaml里面,在那个地方去修改。
发言人08 01:01:38 我还是没看到,就是我们把这MDS归在这里,然后就是方便我们查看吗?就是他要解决的奖劲是啥呀?
发言人04 01:01:47 不方便大家查看只是它的一个在文件层面对大家的作用模型在studio它运作过程中它会去自动读取里面的内容比如说刚才CSA相关的CSA属性有什么类型那这个就是我们在构建的时候我们的工具运行的时候会来读这里面的东西
发言人04 01:02:06 所以程序读的也是这些模型,那我们顺便就把这个文件给大家展示出来了,好吧。那这个作用就是比如说SR配置的时候,我可以知道哪个接口下有哪些属性,就给出可选项和调验,对吧?对,甚至我们将来还可以借这些模型。
发言人04 01:02:26 可能第一会增加模型可能跟大家相关的我们可能会加进来另外我们会增加它的应用比如说我们后面将来会规划一些像逐渐裁减对吧现在兄弟们也在反馈说这个裁减就是一堆清单可能看不明白包括这个open有哪些不知道是吧
发言人04 01:02:46 将来我们在优化的功能过程中,我就需要依赖这些模型。有模型我就有数据,有数据我就可以做应用。刚刚资源数路径那个东西,现在是表示我现在这个版本编出来以后,
发言人08 01:03:05 环境上的资源数就可以从那边去查吗?共享的能换一下吗?换到资源数的试图。要不我们先等开来先抢环,对吧?我已经讲差不多了。
发言人11 01:03:25 这个地方是不是就跟我们环境上的资源数一样的,它显示是一样的,但是它这边它只是体现形式一样,它显示的是刚刚打开的这个东西,我们归档环境的东西,所以它跟真实环境上肯定不一,
发言人12 01:03:44 因为它确实是两个东西。有一种可能是你这个组件虽然打包了,但在环境上没起来。
发言人12 01:03:55 因为你当前ID还没有直接连接到环境,所以我们不好去拿环境的实际的去做校验。在这种情况下,可能这里的定义是有的,但是环境上其实没有被招载上。然后另外一种可能是我们这边,它一些pass里面是有参数的,你像网卡它可能有多个。
发言人12 01:04:14 那它里面就有多个对象,我们在这里面也只能够,可能你可以看一下pass,它里面有那种,比如它的冒号ID,或者说dollar符中号ID那种,就是它会保留这种参数的原始定义模式。对,就像这种,它会保留原始的定义模式。
发言人12 01:04:35 就是因为模型它里面你不同的机型带的组件可能不同嘛,你可能裁了这个组件,就是这个组件带了,那个组件没带,然后这个版本的模型可以保证它,你这个机型没有带的组件,它的模型就它的pass就不会出现在这里。
发言人08 01:04:55 但它终究是模型。你说跟真实的机器,如果它是运软正常的话,它可能是能够对应上的。比如说我们经常在开发中想定位一个问题,想知道一个路径或者一个接口,它属于哪个service提供的。
发言人12 01:05:15 这种能在这个产品下,用你们的工具能解决吗?比如说在这个页面。可以搜的,是不是可以搜。不,你搜的不能搜到它具体的接口了。具体的来自的model.json,你希望知道我这个pass是有哪一个service。
发言人12 01:05:34 哪一个model.json提供的是吧,这个目前还确实没有做这个功能,但是我理解加这个应该比较容易,因为我们就是从原始的内容搞的,大家可以提诉求,可以把人数据提出来,这可能也是一个功能点。
发言人04 01:05:56 我理解它现在左边PASS就是我们的MDBinterface里面的PASS。对吧?对吧?但是对于MDBinterface来说,它本身并不指定谁来实现这个接口。所以中间的话它是存在一种可以通过人工操作找到收入接生。
发言人04 01:06:15 Service的这么一个路径让我理解只要人工能搞定而且这个路径是稳定的它一定可以共产化
发言人04 01:06:25 所以在这里面我们反过来有可能可以增加一个搜索功能。上面不是有个搜索吗?这搜索反过来我们是不是可以基于组件来搜索这种?就是你展示的信息里面,比如现在这个chasisID这个,也不一定搜索了。搜索加展示吧。
发言人04 01:06:44 在展示的信息里面,你现在除了展示模型以外,我们是不是可以展示一些它使用方面的一些预览信息,比如哪些组件实现了,组件版本号是什么,可以先显示一些简单的东西出来吗?
发言人08 01:07:06 我还想到这个东西跟mdbinterface是个什么关系?就是左边这个图和mdbinterface那个仓库里面展示的
发言人12 01:07:17 他们是什么样的关系?哪个东西更多?还说他们信息源都是一样的?这里的信息是相当于MDBinterface的代码仓,结合上你这个机型所有组件的model,MDS文件夹。
发言人12 01:07:33 model.jsontypes.json这些,就是像这里。除了mdbinterface之外,还有mdbinterface在这里。那它结合了以后多烂的一些东西呢?
发言人12 01:07:46 多了,你可以打开model.json的一些具体定义,就是一些属性细节。比如我这个属性的具体类型是啥,有什么样的约束,单就MDBinterface,它可能是没有的。包括一些model.json,它会定义一些私有属性,就是我这个属性要在csr里配置。
发言人08 01:08:05 但是它不在MDBinterface里显示。我是说刚刚那个资源数路径的那个图,它和MDBinterface的资源数路径的那种布鲁结构,它相比起来差别是什么?这个就一样了。
发言人12 01:08:21 是一样的是吧?对,相当于在mdbinterface的基础上,以path为基础,把interface加进去,然后再把各个组件的model.json加进去,把它变成一个全部的模型定义。
发言人12 01:08:39 但这个可视化,我们后续可能如果有需要的话,可以再做一些增强和调整。只是说现在我们先把这个东西做了出来,先看一下大家有什么样的内容的诉求。像刚才大家提到的
发言人12 01:08:56 我们去查看它所属的组件,可能就是一个额外的诉求。我们可以在这里呈现,包括可以后续再做一些可视化的,把它变成一个显示面板。这个界面问题现在可能功能还不多。
发言人04 01:09:15 主要还是只想买SR里面做一些增强。你到SR那边,看一下其他兄弟看有没有SR。我们只有SR的功能吗?你其他的像表达师这些你也是了吗?
发言人12 01:09:36 这个可能之前有演示过,之前大家可能也看过这个,包括我们那些跳转后果显示,这个部分大家应该之前也看到过,今天比较全,大家可以
发言人12 01:09:53 现在这个都在提提问题吧。嗯,对,提问题确实是,就是,嗯,就关于这一点,其实也希望大家能够提供一些思路,比如说大家接受什么样的
发言人12 01:10:06 收集这种长期收集这种诉求的方式。比如在论坛发帖或者我们开一个集中帖去收集大家对于这个的一些功能性的建议和反馈。刚才的那个派对于需求。
发言人04 01:10:22 如果比较明确,就提议。如果说需要讨论的,就发邮件列表。邮件列表还是比较多。我觉得可以发邮件列表,大家来讨论。都可以。这个渠道不限,包括你在证据会的题都可以。
发言人04 01:10:42 建议是相对正式一点的,大家可以把你的诉求讲得更清楚一点,然后大家记住这个邮件的交流,然后可以把它摆得更细一点,比较明确以后就可以提起EQ。BMCStudio的那些插件会开源吗?
发言人12 01:11:03 对,我们自己开发的这部分插件,目前应该是暂时不会开源,但它会被,对,反正也会结合社区市场进行分发,就是openvsch的那个市场。
发言人12 01:11:21 当然不过这个东西它也是基于标准的VSCode扩展API来去工作的嘛,所以像社区如果有一些其他的插件想要纳入进来的,它只要能够发布到openvschar上,那我们这里就能够直接从左边的插件事上搜索。
发言人12 01:11:42 就可能有后续商业这块的我其实肯定也受不了差。从技术上来说,其实大家自己都能够做很多事情,自己试着去开发一些小东西也是可以的。
发言人09 01:11:59 我有个问题,我看这边写的是本地的文件浏览,然后最开始你是有一个登录的操作,这个登录是登录到市区,那这个工具是不是它没办法存立线去用呢?
发言人09 01:12:15 就比如说我们有我们自己完全离线的一个代码仓,这个工具能够去相同的就这些功能能做吗?还是说它只是属于开源社区的一个工具?
发言人11 01:12:34 他对离线和在线其实没有相关的要求,就是说把离线搜不到在线的包。
发言人12 01:12:46 我解释一下,我们现在的工作方式,实现方式,其实考虑了像刚才大家提的那种问题。像您刚才提到的这种情况,是不是内部会维护一套抗占中心舱呢?
发言人09 01:13:04 会的,那部会有可能入银舱有gatcode的代码是放在自己搭的gatcode的代码服务器里面,然后我们的所有的场景都是存内网,所以我不知道有没有相关的能够健全相关东西的地方。
发言人12 01:13:24 这个我理解,因为我们在一开始设计之后就有意避免获取模型的功能和登录功能做过深的绑定。获取模型这里,你看你点完之后,你可以看到一个remote的conan的中心仓列表。
发言人12 01:13:40 这个中心舱列表完全是基于你当前本地的中心舱配置来的。它只会校验你有没有登录这些东西,它不会去管这个看单列表是怎么配置的。所以我理解在你,如果说是你内部使用的话,你只需要保证这些中心舱
发言人12 01:13:58 就是配置成你自己的中心堂,然后处于登陆状态,你就可以不去严格的去登陆到社区,才能去做这种模型的获取和下载。这个模型是以可难包的形式存在吗?对。
发言人12 01:14:15 然后说明一下这个包的产出方式。这个包的产出方式就是,其实你通过Bingo去做出包的时候,它就会在你当前出包的本地产出一个当前Manifest版本对应的模型。
发言人12 01:14:35 在本地缓存里。所以如果说你完全离线,也可以通过本地拉取一个manifest。如果你能出包的话,出一个包,它也会在本地缓存里有这么一个模型。然后如果在流水线里的话,像我们现在的实现,就是每日冒烟。
发言人12 01:14:54 就是每日归档一个manifest包的时候,我们去把它同步产出的模型给推到中心仓去,这样就能够基于中心仓做分发。
发言人12 01:15:06 这个是这个,然后至于说登录,它最核心的功能其实是如果你是完全基于社区做蓝区开发的话,它目前你在登录之后可以保证你当前连接到远端,比如你连接到了一个WSL或者Linux
发言人12 01:15:23 然后它也配置了社区的conan中心舱。那你完成登陆之后,我们会去自动维护你的conan的登陆状态。只要你这里的IDE保持登陆状态,你的conan中心舱不会超时。这个是它额外的一个特性。
发言人12 01:15:42 脱离这个社区,在内部专门搞,你就直接用这个模型分模型插件自身的能力结合conn去工作。如果你要针对社区的话,那这个插件也能够cover得了。我目前是这么个设计。不知道是不是能解决您的一个疑虑。
发言人09 01:15:59 我大概能懂这个意思,我提一个功能性的建议,这个模型好像跟某一次的版本有关系,就是某一个BMC的版本有关系,高度相关,相当于说它是某一个版本的一套的
发言人09 01:16:18 一套进制和一套代码都能揉在一块。然后我们看能不能这样,就是能够把某一个模型里面的所涉及到的所有的客栏组件,都能做一次打包,就是打成一个包。
发言人12 01:16:36 然后能做转移,是这个意思。您说的是打成要抗难包是指哪些组件部分吗?
发言人09 01:16:46 比如说假设把root可能2p目录下所有东西全部打包成一个这份包固的踏包
发言人12 01:16:58 然后我一尊全量的制品,这种大包是吗?哇,这个,对
发言人04 01:17:19 我们这个是科兰提供的。我建议你直接把你的科兰缓存目录直接复制过去吧。科兰本身也提供了这样的命令,可以看一下官方门导,它可以导出它的科兰包的,也可以导出可以导入。
发言人12 01:17:37 OK,我知道了。我理解这边的设计是说想要一个构建完成之后给所有依赖到的包一个快照一样的把它的所有制品都给汇总起来是吧,这种。对,大概是这个意思。用课堂官方的命令就可以了。
发言人04 01:18:01 嗯,还有吗?嗯,行,那如果没有的话,那今天那个两个议题就结束了。
发言人13 01:18:21 大家可以看一下工作中有没有一些我们在这临时讨论的。我倒是有另外一个其他方面的问题想问一下。刚刚提到manifest的文件里面,我们不是create了一堆的0502吗?对。
发言人04 01:18:40 现在那个bm502还是需要bingomini一个一个的跑,还是支持我们去完成个解析?我讲一下华为的实践,华为实践是一条流水线,流水线里面它会自动去,它会自动伸缩,然后使别你需要构建什么样的包,它会编排。
发言人04 01:19:00 编排完以后他就会把这个比如说你里面有N个manifestor他就会匹配的啊N个那个0502他就匹配的啊拉起N个任务来固件然后另外还有一种实践就是有CIE然后根据你有多少个
发言人04 01:19:17 这个0502,然后起并行的任务,一种是自动的,一种手动的。然后构建的话,并购不,现在没有计划要一次性把所有0502构建出来。因为这个实际就是我们以前V2的逻辑。V2构建一次,就是把所有包构建出来周期太长,而且中间出问题。
发言人04 01:19:38 这个定位也比较难。所以一次构建一个包,这是我们V3最开始设计的时候,工程就这样设计的。方便大家调试。比如说以前我们有10个包,
发言人13 01:19:56 你为了构建最后一个包,你要把前面的包给构建出来,周期太长了。所以说从苹果命令来看的话,每一次它只能是编一个,方便我们把它每个零五零二分到不同的机器去同时编,是吧?是的。
发言人13 01:20:14 我还有另外一个问题,关于签名的,我刚看到里面共享的manifest的文件里面有一个关于签名的CRL文件,那个文件我们现在签名,我看我们打包的脚本还是用的跟VR一样的逻辑是吧?
发言人13 01:20:31 关于CRL、CMS放置的位置都是还是一样的逻辑,没有变吗?那部分应该是没有变。没有变的话,你们内部用的签名是G2的4096G2还是用GG的呢?G2,iPhone用的就是
发言人13 01:20:52 没有pkcs填充的,全是pss填充4096G2那你们是不是你们内部的签名工具在签名完之后还是会生成一个crl文件下来?对,它会吐出一个crl文件
发言人04 01:21:13 但我们内部的它不会,那这样我们怎么去金融呢?黄奥,你是困难吗?对。这种如果说你不生成这个文件,那么你的CMS、CIL那个文件就说你固定的,比如说你规档到manifest里面,
发言人04 01:21:32 然后里面它是可以描述你使用,就是它那个配置项,它是很灵活的。你可以描述从固定文件去取,可以从manifest里面去取。如果它不吐出来,那你就从自己那边复制过去吧。
发言人13 01:21:48 但按我的理解,我们内部可能跟你们有区别,我们内部G2的签名,它工具不吐出来CRL文件,是因为它把CRL文件写掉了CMS里面去了,那是不是就重复了,CMS里面有CRL,同时按我们当前的
发言人04 01:22:09 按照HPM包的格式,它里面有单独的CMSCIR那个段,
发言人13 01:22:16 就是这个意思,就是说HP们包里面会把300S文件写进去,又会同时把C2还有文件写进去,但是我们内部如果用G2算法的话,我们的.300S文件里面就已经有C2来了,那什么就重复了。
发言人04 01:22:32 你要考虑一下用的地方,它能不能识别你的模式。对啊,这个以往我印象中,这个地方都是独立的两个文件。你说的这个逻辑,我还是第一次听说把它放在一起。
发言人13 01:22:49 因为CMS文件主要是验签的数据,为啥会把CRL放在里面?G2的算法不是做了一个升级吗?它其实已经把CRL写到CMS里面去了,所以我们的工具才不会在签名的时候吐出来的那个文件。
发言人04 01:23:07 但是G2它本身只是填充模式和长度发生变更。我没看到这个地方还要变它的CMS格式。
发言人04 01:23:24 那你了解,相对于你们内部用g2,但是你们还是会突出来一个cll文件的。你稍等一下,这个地方我要确认一下,但是我们应该是给他们提了个单,让他们去把
发言人04 01:23:40 CRL文件就凸出来,因为最开始这个的文件还真是没凸出来的。那如果你们提了单,那提了单之后的CMS文件是不是就改变了?不是不是,我们只是让它凸出CRL文件,CMSCRL文件这个
发言人04 01:23:57 我第一次听说这个,我从来也没顺利过,你们可以再打开看一看。这个我是可以确定,G2算法签名产生的CMS文件里面是有CRL的,
发言人13 01:24:13 那如果按你们内部的说法的话,你就把C1L会重复的写在HPM包里面去了,CMS里面有一份又重新再写一份进去。
发言人04 01:24:25 我能知道的就是申请模块它不会去从CMS里面解析CRL,这个是肯定的。它读的就是固定的头部偏移,然后去读CRL。固定的位置去读是吧?对,如果它要用,至少我看到的是它应该不会去读你这个CMS里面的CRL。
发言人04 01:24:44 当然也可能底层验签工具是不是做了什么动作?我们不清楚。所以这块的话,我觉得你可以找技术服务,或者我现在你们那边应该也有相关的专家,对吧?这个东西是同源的,可以再打开一下。如果说你们的确需要这样的逻辑,需要结构开,
发言人04 01:25:06 可以到时候看一下Bingo能做什么,是不是可以改一下,适配一下,是吧?我刚才查了一下CMS亲密文件的确可以带CIO文件,但是它不是必须包含,是吧?
发言人13 01:25:23 我们内部再确认一下,现在可以肯定你们是做过优化,然后你们的签名是会突出来这个文件的,是吧?你问到我,我都有点不确定了。是的,我们现在内部是会突出CR文件的。
发言人04 01:25:42 因为以往最开始是没有的,没有的话是我们自己去归党的。好,那大概了解。对,因为按照以往的,就是最开始pkss,它是要突出这个的,然后它没突出之前,我们是
发言人04 01:26:00 至少当时有个逻辑是去我们华为一个pk网站去下载CIL文件。就是从官网把那个文件还是临时拉下来。对,但是我们认为不是很好,最好是他用了什么,他就吐给我什么,打包什么。
发言人04 01:26:24 是的,现在它会突出一个叫crldata.crl这个问题,我们会把它重命名为cms.crl。好,那我就解决问题。还有其他还有问题吗?
发言人14 01:26:48 海星哥,我这边还有个问题想咨询一下。我看设计区现在在柯南的柯南仓库是不是比如说LTS,然后还有SPE,还有现在现在眼镜的那个R603,他们都是分开的是吗?对,这个叫
发言人04 01:27:07 版本空间这个概念,因为实际最开始我们想的还是比较理想,希望一个舱把所有东西装下,但是实际运作起来发现还是有点问题,就是里面主要问题是依赖冲突啊这些,导致使用的时候可能导致缺包啊各种问题。
发言人04 01:27:27 所以我们后面再优化了,然后我们每次发布的这个sdk,就会放到一个独立的一个叫板门空间里面去,然后这个社区也提了一个issue,应该是是不是好问题的,就那个地方没有讲清楚它的逻辑,这个的话我们会优化一下。
发言人04 01:27:46 最后会提供大家一个机制,就说大概你命名上面会有一个规则。比如说可能会有openEuelr的下方线后面带个版本,后面如果是LTS,可能有下方线LTS,然后后面有SPX这种,会有个格式上面的版本,格式上面的一个描述。这个的话,
发言人04 01:28:06 这个万民那边,我们的这个jaffowner,他那个在处理那个ease。如果后续按照这种方式处理的话,就不用再分开放了,就放一个仓库里面也可以了。不不不,就是还是多个仓,因为我们发现一个仓搞不定,好吧。
发言人04 01:28:26 一个参搞定,它里面会有冲突。主要冲突就是依赖关系的原因。因为我们社区相对比较特殊,它是有根组件是B原的,是吧?那这部分组件,它是要上传的二进制的。如果放在一起,它的依赖关系会发生一些变更。比如说,
发言人04 01:28:46 同样一个版本,然后因为在不同的sdk里面它依赖是不同的,那这时候放到客栏仓里面它就会产生冲突,最终的直接表现就是客栏缺包,会出现一系列的缺包问题。所以我们现在是把它隔开,我们的方案就是一个版本一个客栏仓,
发言人04 01:29:06 但是openUPMC开远仓是规一的开远仓是放在一起,因为开远仓是有圆满的。
发言人14 01:29:16 那我们比如说火把这边,比如说RTSSP这种,然后还有就是要跟着设计一些眼睛能记的版本,这感觉有点太多了,我们感觉维护起来有点困难。是,是,会有这么一个问题。
发言人04 01:29:34 这个也会考虑看怎么优化。但是冲突这种,就现在这种开发模式,基本就决定了没办法合在一起。但是如果说它是圆满开放的,那这些就好办。这样华为所有的柯兰都是在一个场里面。
发言人04 01:29:54 开发者也只出了一个商。但是毕竟现实就是这样的,可能我们也没办法通过技术上面去解决。只要短期内,我们没想到更好的方案。如果大家有一些新的方案的话,也可以贡献给我们。
发言人04 01:30:11 好嘞,那我了解了。对,因为软件工程,大家看到大家写作,在社区写作以后,这个事变得很复杂,然后包括我们1月份,昆仑、少年都反馈一些缺包的问题,是吧?
发言人04 01:30:28 这个还是因为我们这种开放模式太过于复杂。中年很容易前一发而动全身,因为我们现在的话也是以稳妥为主,足够去眼睛优化。你说的这个点,我们也想解决。
发言人01 01:30:50 行,其他的呢?五周这边,宝德这边有没有问题?行,如果
发言人15 01:31:03 如果没有的话,那今天的利会。我想问一下,之前提到那个lockfile文件3月份,这次会有这个方案吗?这个是这样,我们也想上,因为回到刚才我说软件工程变得复杂这个事。
发言人04 01:31:22 那个BMCSDK配套,不是就是logfile配套我们的并购,然后配套我们的流程变更,它实际上变化很大,对开发者的影响,包含比如说你对新功率的理解,新参数的一些理解,新的命令的理解。
发言人04 01:31:41 然后整个Q1版本在3月份又是高峰,红入高峰。其实我个人是不想在这个时间点去上库的。上库的很容易产生阻塞。所以我个人是期望在4月初
发言人04 01:32:01 等设计版本过点以后,我们再考虑把它落下来。也不希望,因为导致大家体验上面急剧下滑。就像我们现在工程兄弟的压力还是挺大的,一不小心。
发言人04 01:32:18 因为我们的用户是包含所有的用户。所有的开发者都跟我们产生交集。一旦出问题是影响全局的。所以我们现在是越来越谨慎了。好吧,大家可以再认认。好的。
发言人01 01:32:40 还有吗?那没有的话,今天就先到这儿。谢谢大家。