[Arm-dev] Work flow for fixing packages for Pi3

Fabian Arrotin arrfab at centos.org
Tue Apr 19 06:04:53 UTC 2016


On 19/04/16 00:10, Lalatendu Mohanty wrote:
> Hi,
> 
> I have some questions about the work flow we are following for fixing 
> stuff for CentOS ARM . For example I am trying to make docker run on 
> Pi3. So I tried to rebuild it on Pi3 using centos-7-armhfp.cfg [1] and 
> failed because of a dependency error i.e. no Package found for 
> go-md2man>= 1.0.4.
> 
> I am sure, to build docker for Pi3 I need to build the dependency chain. 
> But the question is how do I know if a certain is dependency chain is 
> already fixed in CentOS ARM project and I can reuse the packages. 
> Basically I do not want to redo the stuff which is already fixed and 
> available for reuse. Is there a repository for these?
> 
> The second question is if I get successful at rebuild a package with 
> some changes, how do contribute it back so that others can reuse the 
> stuff? I guess the answer is I should send the patch to arm-dev mailing 
> list.
> 
> Not sure if we have a wiki page for this kind of information. If we have 
> please point me to that.
> 
> [1] http://armv7.dev.centos.org/repodir/centos-7-armhfp.cfg
> 
> 
> Thanks,
> Lala

So, let's discuss the way you can verify what you need and where to find it.

For your go-md2man req, you can see (from x86_64) that it's coming from
the updates repo (and src.rpm being
http://vault.centos.org/7.2.1511/updates/Source/SPackages/golang-github-cpuguy83-go-md2man-1.0.4-2.el7_2.src.rpm)

Now you can search in:
 - http://armv7.dev.centos.org/rpmbuild/* (for the build logs) and
 - http://armv7.dev.centos.org/repodir/* (for the built pkgs)

Where it doesn't help (and so plague doesn't show it under /rpmbuild/*)
is that for pkg that have a ExclusiveArch , in the prep job (and so
before really trying to build it), it just reports (by mail) :

<quote>
Package
/srv/armv7/rpmbuild/srpm_upload_dir/c71511-updates-1/golang-1.4.2-9.el7.src.rpm
does not build on any architectures this build system supports.
    Package: ['x86_64']
    Build System: ['armv7hl']
</quote>

And same for golang-1.4.2-9.el7.src.rpm itself.

So if you want to build docker for armhfp, you'd have first to verify
that base components like those requirements can be built and that they
work fine. I guess there is a reason if upstream had a specific
ExclusiveArch setting in the .spec.
OTOH, we built some pkgs in the same situation like
corosync/pacemaker/libqb where a functional patch was the only required
thing to make it usable on armhfp. (see as an example
http://armv7.dev.centos.org/repodir/c7-buildroot-patched-SRPMS/patches/libqb-spec.patch)

Now you're right about patch proposals : once you get a pkg to build and
that it's working at the functional level, you can send a patch to this
list. From that point, two possibilities :
- it's a pkg that it's not in base/updates => you can rebuild/test it in
your repo
- it's a pkg from base/updates => you can rebuild/test it in your own
repo (like for example
http://armv7.dev.centos.org/repodir/c7-containers-tools/) and once you
confirm that it works, we'll rebuild it (with the needed patch) and it
will then be available in the base/udpates repo (and so also
signed/pushed to mirror.centos.org)


-- 
Fabian Arrotin
The CentOS Project | http://www.centos.org
gpg key: 56BEC54E | twitter: @arrfab

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
URL: <http://lists.centos.org/pipermail/arm-dev/attachments/20160419/655d1eec/attachment.sig>


More information about the Arm-dev mailing list