我新建的obs私有服怎么不停的重复编译项目里的包?


#21

正因为你一个人做不过来,才要公开让大家都可以接下去做呀…deepin 工程就在 obs 上,已经换手好几次了…不然跟你有相同想法的人就要重新来过。

你把那四个包告诉我,然后把你的补丁们找个地方发出来。回头我开个 private instance 看看什么情况。

PS:我觉得 OBS 应该可能已经容器化了吧…也许你可以把现有环境做个容器让别人下下来原封不动的跑?当然这只是出于 debug 这个问题的角度出发,对你最终想要的东西用处不是很大


#22

另外那个包好像是 audit 。(修改只有 glibc,去掉 i686 的分支架构,增加一个 /lib64/ld.so.1 进包)。

其实我现在主要是想研究 obs ,并不打算真出系统。因为 fedora 29 软件包的依赖弄得很差。所以我在等 fedora 30 再看看。现在研究 obs 主要是想弄个全自动的环境,以前用脚本循环调用 fedora 的 mock 太累。看到 obs 有自动依赖的功能觉得还不错,没想到不停的重复啊。
主要是计算机资源有限,我用的是龙芯 CPU 直接本地跑。

fedora 我都要编译很久。你用虚拟机跑编译就算了吧。
如果真有人能帮忙, leap 15.1 的时候开启公共项目也是个时间节点吧?
这样我自己的机器可以回去跑 fedora 30 ,leap 15.1 就全扔给 suse 自己的机器。
两边之间的修改也能互通有无。

PS:原封不动给你,你也没法跑,我的 OBS 是跑在龙芯上的。整个系统和数据都很大的(之前手工编译完了 minimalX ,一共1万4左右的包),而且还是 mips64el 的,你用虚拟机?


#23

我不是要一万四千个包啊…我只要你出现 build cycle 那四个啊…我只需要复现你的 build cycle 就行了啊

另外 OBS 的 worker 每次都是 qemu 新开 virtual machine 编译,所有的包都是虚拟机编译完拷贝出来的啊,不然上哪儿找那么多架构的 server 啊,都是 x64 平台虚拟化的啊


#24

mips64el 编译支持不是说要把 OBS 跑在龙芯上,龙芯才有多大能力啊…是只要 qemu 支持 mips64el 就行了…


#25

虚拟机跑太慢。


#26

你不是要我整个环境吗……手滑,弄了两个包含 1 万 4 个包的项目……懒得清了。


#27

是我没说清楚吗?你的 private instance 现在应该是在 mips64el 上开虚拟机模拟 mips64el。


#28

你不是说只有两个包编译完就进调度队列吗?那我只用这两个包应该就能复现你的情况,最多再要个 obs 自己的配置。


#29

我选择的是 chroot 环境,不是虚拟机。如果用虚拟机,我还要给它配内核太麻烦。
至于你说的进调度队列,你没有编译支持包怎么看队列?你只能看到两个 broken 吧?

我先连续开机让他持续编译一次看看吧。


#30

刚反应过来,你不是只用这两个包吗?你去自己建一个 obs 私有服,之后去官方同步 15.0 的 0-Bootstrap ,我也告诉你修改的内容了。
你建好了能跑了,我给你我的 project config 和 meta 就行了。


#31

好吧,刚才正好又完全一个循环结束,看到了依赖的循环树信息有变化。
昨天一共 6800+ 行,现在降低到 990 行了。
看上去还要至少再编译几个循环才能彻底解决依赖。
目前 gcc 已经重新编译了 2 次,第三次已经推进调度序列了。

这么重复编译有意义?从借助外力编译,2 次也足够了吧?


#32

明白了,obs 的依赖编译,就是不停的循环。
现在依赖关系貌似 332 行了。
但是 gcc 又一次的进了调度队列。
难怪官方的 rel version 这么大……不停的重复编译。


#33

很好,现在只卡在 bash 身上了,只有这一个包进调度。
其他的包都在 blocked 状态。
但是 bash 的编译版本号已经增加到 36 了。
重复的只编译 bash 。

2019-01-28 12:29:39: [3810]  looking at med prio openSUSE-mips64el:leap15.0:0-Bootstrap/standard (0/0/2/0/4)
    merging metacache data
  - openSUSE-mips64el:leap15.0:0-Bootstrap/standard
    sorting 108 packages
    checking packages
      cycle components:
        - acl attr audit autoconf automake bash bc binutils bison bzip2 cpio cracklib dejagnu dwz e2fsprogs ed elfutils expect fdupes file findutils flex gawk gcc gcc7 gdbm gettext-runtime-mini glibc gmp gpm gzip help2man isl keyutils krb5-mini libcap libcap-ng libdb-4_8 libnsl libselinux libsemanage libsepol libtirpc libtool libustr libverto libzio linux-glibc-devel lua-macros lua53 m4 make mpc mpfr ncurses pam patch pcre perl perl-Text-Unidecode perl-gettext pkg-config popt rpm screen shadow system-user-root system-users systemd-rpm-macros systemtap-headers sysuser-tools tcl tcpd texinfo update-alternatives utempter util-linux which xz zlib
      - bash (spec)
        +patchutils/automake/gcc7-c++
        meta change, start build
    blocked: 23
    disabled: 2
    done: 79
    excluded: 3
    scheduled: 1
    looked harder: 3
    building: 1, notready: 103, unfinished: 103
    took 1 seconds to check the packages
    updating relsync information

#34

仍然在只编译 bash 。已经涨到 42 了。

2019-01-28 13:59:02: [3810]  looking at low prio openSUSE-mips64el:leap15.0:1-MinimalX/standard (0/0/0/0/4)
  - openSUSE-mips64el:leap15.0:1-MinimalX/standard
    sorting 0 packages
    checking packages
    building: 0, notready: 0, unfinished: 0
    took 0 seconds to check the packages
    leaf prp, unfinished prps: openSUSE-mips64el:leap15.0:0-Bootstrap/standard
2019-01-28 13:59:02: [3810]  waiting for an event...
  - openSUSE-mips64el:leap15.0:0-Bootstrap/standard: bash built: 19 files
      + :full/bash.rpm (bash-4.4-lp150.1.42.mips64el.rpm)
      + :full/bash-debuginfo.rpm (bash-debuginfo-4.4-lp150.1.42.mips64el.rpm)
      + :full/bash-devel.rpm (bash-devel-4.4-lp150.1.42.mips64el.rpm)
      + :full/bash-doc.rpm (bash-doc-4.4-lp150.1.42.noarch.rpm)
      + :full/bash-lang.rpm (bash-lang-4.4-lp150.1.42.noarch.rpm)
      + :full/bash-loadables.rpm (bash-loadables-4.4-lp150.1.42.mips64el.rpm)
      + :full/bash-loadables-debuginfo.rpm (bash-loadables-debuginfo-4.4-lp150.1.42.mips64el.rpm)
      + :full/libreadline7.rpm (libreadline7-7.0-lp150.1.42.mips64el.rpm)
      + :full/libreadline7-debuginfo.rpm (libreadline7-debuginfo-7.0-lp150.1.42.mips64el.rpm)
      + :full/readline-devel.rpm (readline-devel-7.0-lp150.1.42.mips64el.rpm)
      + :full/readline-devel-static.rpm (readline-devel-static-7.0-lp150.1.42.mips64el.rpm)
      + :full/readline-doc.rpm (readline-doc-7.0-lp150.1.42.noarch.rpm)
2019-01-28 14:16:50: [3810]  looking at med prio openSUSE-mips64el:leap15.0:0-Bootstrap/standard (0/0/2/0/4)
    merging metacache data
  - openSUSE-mips64el:leap15.0:0-Bootstrap/standard
    sorting 108 packages
    checking packages
      cycle components:
        - acl attr audit autoconf automake bash bc binutils bison bzip2 cpio cracklib dejagnu dwz e2fsprogs ed elfutils expect fdupes file findutils flex gawk gcc gcc7 gdbm gettex$
      - bash (spec)
        +patchutils/automake/gcc7-c++
        meta change, start build
    blocked: 23
    disabled: 2
    done: 79
    excluded: 3
    scheduled: 1
    looked harder: 3
    building: 1, notready: 103, unfinished: 103
    took 1 seconds to check the packages
    updating relsync information

#35

问题解决。
关掉 bash 的编译,等其他的包编译完成,状态 succeeded 后,再开 bash 的编译就行了。
绝对算法有问题。