Can someone point me in the right direction? How do you compile multiple
packages continuously with mock?
I have some 50 srpms waiting to be recompiled via mock for both i386 and
x86_64 (again).
1. Is there a command I can give so all the packages are compiled in one go?
2. Do I have to sort them in proper order (dependencies) or can I just
command to mock to check and sort them?
Any help is appreciated, examples welcomed.
Thanks
--
Ljubomir Ljubojevic
(Love is in the Air)
PL Computers
Serbia, Europe
Google is the Mother, Google is the Father, and traceroute is your
trusty Spiderman...
StarOS, Mikrotik and CentOS/RHEL/Linux consultant
_______________________________________________
CentOS-devel mailing list
CentOS-devel@centos.org
http://lists.centos.org/mailman/listinfo/centos-devel
09-27-2011, 11:52 AM
Patrick Lists
Advice on compiling multiple packages with mock
On 09/27/2011 01:44 PM, Ljubomir Ljubojevic wrote:
> Can someone point me in the right direction? How do you compile multiple
> packages continuously with mock?
>
> I have some 50 srpms waiting to be recompiled via mock for both i386 and
> x86_64 (again).
>
> 1. Is there a command I can give so all the packages are compiled in one go?
>
> 2. Do I have to sort them in proper order (dependencies) or can I just
> command to mock to check and sort them?
>
> Any help is appreciated, examples welcomed.
Smock (which uses mock) might help:
"Smock is a thin wrapper around mock to let you build up a whole set of
dependant RPMs against an external distro."
Regards,
Patrick
_______________________________________________
CentOS-devel mailing list
CentOS-devel@centos.org
http://lists.centos.org/mailman/listinfo/centos-devel
09-27-2011, 02:50 PM
Ljubomir Ljubojevic
Advice on compiling multiple packages with mock
Време: 09/27/2011 01:52 PM, Patrick Lists пише:
> On 09/27/2011 01:44 PM, Ljubomir Ljubojevic wrote:
>> Can someone point me in the right direction? How do you compile multiple
>> packages continuously with mock?
>>
>> I have some 50 srpms waiting to be recompiled via mock for both i386 and
>> x86_64 (again).
>>
>> 1. Is there a command I can give so all the packages are compiled in one go?
>>
>> 2. Do I have to sort them in proper order (dependencies) or can I just
>> command to mock to check and sort them?
>>
>> Any help is appreciated, examples welcomed.
>
> Smock (which uses mock) might help:
>
> "Smock is a thin wrapper around mock to let you build up a whole set of
> dependant RPMs against an external distro."
>
> http://git.annexia.org/?p=fedora-mingw.git;a=tree;f=smock
>
That is nice I will try it later today.
I have another (hopefully last) question. How do you build i686 packages
in mock (or for that matter in rpmbuild)? Do you just change it's name?
or use command option or change it in some macro?
--
Ljubomir Ljubojevic
(Love is in the Air)
PL Computers
Serbia, Europe
Google is the Mother, Google is the Father, and traceroute is your
trusty Spiderman...
StarOS, Mikrotik and CentOS/RHEL/Linux consultant
_______________________________________________
CentOS-devel mailing list
CentOS-devel@centos.org
http://lists.centos.org/mailman/listinfo/centos-devel
09-27-2011, 03:31 PM
Johnny Hughes
Advice on compiling multiple packages with mock
On 09/27/2011 09:50 AM, Ljubomir Ljubojevic wrote:
> Време: 09/27/2011 01:52 PM, Patrick Lists пише:
>> On 09/27/2011 01:44 PM, Ljubomir Ljubojevic wrote:
>>> Can someone point me in the right direction? How do you compile multiple
>>> packages continuously with mock?
>>>
>>> I have some 50 srpms waiting to be recompiled via mock for both i386 and
>>> x86_64 (again).
>>>
>>> 1. Is there a command I can give so all the packages are compiled in one go?
>>>
>>> 2. Do I have to sort them in proper order (dependencies) or can I just
>>> command to mock to check and sort them?
>>>
>>> Any help is appreciated, examples welcomed.
>>
You need to somehow script the proper order and/or dependencies if you
are using mock. You would also need to script something that would add
the built packages into a repo if you need to build them "staged" (that
is, you build package A and it is needed for Package B later ... you
need some kind of script to move the .rpms from A into one of your repos
and run createrepo on it before you build package B).
There are things that do staging for mock ... one is plague, the other
is koji ... I am sure there are others.
>> Smock (which uses mock) might help:
>>
>> "Smock is a thin wrapper around mock to let you build up a whole set of
>> dependant RPMs against an external distro."
>>
>> http://git.annexia.org/?p=fedora-mingw.git;a=tree;f=smock
>>
>
I have not used this ...
> That is nice I will try it later today.
>
> I have another (hopefully last) question. How do you build i686 packages
> in mock (or for that matter in rpmbuild)? Do you just change it's name?
> or use command option or change it in some macro?
>
You need to use a command like this to build i686 for mock:
setarch i686 mock --statedir="{somepath}/state" --resultdir="{some path
to put built files}" -r "{some mock config file}" --arch="i686" {SRPM to
build}
Here is some example scripts that I use for building mock packages (this
is for the c5 mock we use for centos5 and is in c5 extras ... newer
versions for c6 will have different options):
http://people.centos.org/hughesjr/buildsystem/
_______________________________________________
CentOS-devel mailing list
CentOS-devel@centos.org
http://lists.centos.org/mailman/listinfo/centos-devel
09-27-2011, 04:49 PM
R P Herrold
Advice on compiling multiple packages with mock
On Tue, 27 Sep 2011, Ljubomir Ljubojevic wrote:
> Can someone point me in the right direction? How do you compile multiple
> packages continuously with mock?
>
> I have some 50 srpms waiting to be recompiled via mock for both i386 and
> x86_64 (again).
>
> 1. Is there a command I can give so all the packages are compiled in one go?
>
> 2. Do I have to sort them in proper order (dependencies) or can I just
> command to mock to check and sort them?
A naiive build algorithm simply submits and checks the return
Build Requirements are readily queriable, and testable as to
whether they are met; as such one need not pay the time cost
of enqueuing a build that is pre-ordained to fail by doing
minimal checking first
Driving such a system off of versioned BR's require a bit more
logic than that of the last paragraph, and may not always be
'correct'
Mutual cross-dependant BR's require manual solution 'out of
band' of a submission engine, usually by 'short circuiting'
around one missing 'leg' of such a cross-dependency; this kind
of issue can also solved in .spec file conditionals logic,
keyed on '--defines', although this is not seen in the CentOS
project's upstream very often
>From my notes on the topic:
[herrold@centos-5 R2spec]$ cat aa_README
To break dependency loops
1. identify a pair (or more) of affected packages
2. note up top the circular:
# circular on: R-acme and R-beta -- parent seems to be:
R-acme
3. add to each package: 1) %check conditional header,
see: R-graph.spec
As I have mentioned before, I have privately packaged most of
the R finance, stats, and econometric packages. Not all are
of a License re-distributable form, sadly
- Russ herrold
--
end
==================================
.-- -... ---.. ... -.- -.--
Copyright (C) 2011 R P Herrold
herrold@owlriver.com
My words are not deathless prose,
but they are mine.
_______________________________________________
CentOS-devel mailing list
CentOS-devel@centos.org
http://lists.centos.org/mailman/listinfo/centos-devel
09-27-2011, 05:43 PM
Ljubomir Ljubojevic
Advice on compiling multiple packages with mock
Време: 09/27/2011 05:31 PM, Johnny Hughes пише:
> You need to somehow script the proper order and/or dependencies if you
> are using mock. You would also need to script something that would add
> the built packages into a repo if you need to build them "staged" (that
> is, you build package A and it is needed for Package B later ... you
> need some kind of script to move the .rpms from A into one of your repos
> and run createrepo on it before you build package B).
>
> There are things that do staging for mock ... one is plague, the other
> is koji ... I am sure there are others.
Both those are complete systems, I was looking at little simpler
solution, but will keep them in mind. I am for now even battling with
mock and his applications and configuration.
>>
>> I have another (hopefully last) question. How do you build i686 packages
>> in mock (or for that matter in rpmbuild)? Do you just change it's name?
>> or use command option or change it in some macro?
>>
>
> You need to use a command like this to build i686 for mock:
>
> setarch i686 mock --statedir="{somepath}/state" --resultdir="{some path
> to put built files}" -r "{some mock config file}" --arch="i686" {SRPM to
> build}
>
> Here is some example scripts that I use for building mock packages (this
> is for the c5 mock we use for centos5 and is in c5 extras ... newer
> versions for c6 will have different options):
>
> http://people.centos.org/hughesjr/buildsystem/
>
Thanks, this will be very usefull.
--
Ljubomir Ljubojevic
(Love is in the Air)
PL Computers
Serbia, Europe
Google is the Mother, Google is the Father, and traceroute is your
trusty Spiderman...
StarOS, Mikrotik and CentOS/RHEL/Linux consultant
_______________________________________________
CentOS-devel mailing list
CentOS-devel@centos.org
http://lists.centos.org/mailman/listinfo/centos-devel
09-27-2011, 07:48 PM
Ljubomir Ljubojevic
Advice on compiling multiple packages with mock
Време: 09/27/2011 06:49 PM, R P Herrold пише:
> On Tue, 27 Sep 2011, Ljubomir Ljubojevic wrote:
>
>> Can someone point me in the right direction? How do you compile multiple
>> packages continuously with mock?
>>
>> I have some 50 srpms waiting to be recompiled via mock for both i386 and
>> x86_64 (again).
>>
>> 1. Is there a command I can give so all the packages are compiled in one go?
>>
>> 2. Do I have to sort them in proper order (dependencies) or can I just
>> command to mock to check and sort them?
>
> A naiive build algorithm simply submits and checks the return
>
> Build Requirements are readily queriable, and testable as to
> whether they are met; as such one need not pay the time cost
> of enqueuing a build that is pre-ordained to fail by doing
> minimal checking first
>
> Driving such a system off of versioned BR's require a bit more
> logic than that of the last paragraph, and may not always be
> 'correct'
>
> Mutual cross-dependant BR's require manual solution 'out of
> band' of a submission engine, usually by 'short circuiting'
> around one missing 'leg' of such a cross-dependency; this kind
> of issue can also solved in .spec file conditionals logic,
> keyed on '--defines', although this is not seen in the CentOS
> project's upstream very often
>
>> From my notes on the topic:
>
<snip>
Thanks, I will look at those.
For manual rpmbuild, , I created following script (needs root or sudo
access for yum) for automatic installation of dependency rpms:
I deliberately avoided deleting log files, so I can debug or harvest data.
--
Ljubomir Ljubojevic
(Love is in the Air)
PL Computers
Serbia, Europe
Google is the Mother, Google is the Father, and traceroute is your
trusty Spiderman...
StarOS, Mikrotik and CentOS/RHEL/Linux consultant
_______________________________________________
CentOS-devel mailing list
CentOS-devel@centos.org
http://lists.centos.org/mailman/listinfo/centos-devel