Hi Victor, The CENGN repos are where the build results go. I believe these are built nightly. So, they are not updated on a per-commit basis but they are "eventually" up to date. If you encounter spec files with bad or missing BuildRequires (or Requires) then yes it is very valuable to raise a Launchpad. An audit tool would be helpful. Below are some notes I took for steps that used to work for me, but I have not tried them in a "very" long time, and the build tools may have changed. (the build tools make use of mock) Note that these steps remove the mock folders. I suspect the technique you are using could also help track down missing Requires. ================ How to verify a spec has correct BuildRequires: cd $MY_WORKSPACE rm -Rf mock* build-srpms --clean <pkg> build-srpms <pkg> build-rpms --clean <pkg> build-rpms <pkg> (If this builds, you are good) Usually "devel" or "staticdev" packages are missing ================ How to verify a spec has correct Requires: cd $MY_WORKSPACE rm -Rf mock* mock -r $MY_BUILD_CFG --install <full path to RPM> ie: mock -r $MY_BUILD_CFG --install rpmbuild/RPMS/python-keystoneclient-1.3.1-r3.noarch.rpm ====================== Al -----Original Message----- From: Victor Rodriguez [mailto:vm.rod25@gmail.com] Sent: Wednesday, May 08, 2019 3:45 PM To: Little, Scott; starlingx-discuss@lists.starlingx.io; Cordoba Malibran, Erich Subject: [Starlingx-discuss] [Build][MultiOS] Use of current centOS spec files in Mock build system with repos Hi team A few weeks ago I had the curiosity to investigate if there was an rpm repo in CENGN for starling X. Scott was very kind to point me about, thanks a lot Scott. Why this is related to multi-os? RPM repositories are warehouses of RPM package files that are easy to consume to build with upstream tools like mock. mock is a tool for building RPM packages. we can use mock to build packages for many different versions of CentOS/Red Hat and Fedora. After some experiments I was able to build basic packages from fault management using the following methodology: 1) set up mock in my Linux distro ( in my case centos 7.6 ) 2) use the following mock repositories config file to build: https://github.com/starlingx-staging/stx-packaging/blob/master/configs/docke... 3) build as: srpm : mock -r $(MOCK_CONFIG) --buildsrpm --spec=$(SPEC) --sources=$(SOURCES) --resultdir $(RES_DIR) --define="tis_patch_ver $(TIS_PATCH_VER)" rpm : mock -r $(MOCK_CONFIG) --rebuild $(SRPM) --resultdir $(RES_DIR) --define="tis_patch_ver $(TIS_PATCH_VER)" ( the variables point to the location of my spec file and source tar.gz files, the MOCK_CONFIG points to the path of my local-centos-7-x86_64.cfg file ) In the end, it works pretty straight forward, proving the following points from this experiment ( hopefully useful for someone else ) : a) If we use the CENGN repos ( plus the centos repo ) is possible to build an RPM w/o the need to download the mirror. Great job Scott and build team! b) Is possible to use alternative upstream tools to build a single RPM w/o the need to rebuild the build dependencies. Now a few questions came to me : a ) Are these CENGN repos in active use, I mean, are they updated with a new ISO or every time a developer merge a commit in master? b) After trying to build all the packages in fault management I found that: * the source files directories are not standard ( I know Erich is working on this ) * there are missing BuildRequires in the current centos spec files ( they build due to the specific architecture that builds system has to handle/install the build req in a parallel build ) In the aim of improving the project to some other members of the community use different tools to build different layers of the OS. I was wonder how valuable the community see the task of adding the proper BuildRequires in all the flock spec files that have missing ones. I create a launchpad and a patch for the missing build req I found in fm-rest-api: https://review.opendev.org/#/c/657869/ Any feedback from the community more than welcome Regards Victor Rodriguez _______________________________________________ Starlingx-discuss mailing list Starlingx-discuss@lists.starlingx.io http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss