Morning,
somehow the upgrade to 4.4 broke mock on my system:
| [angenenr@shutdown SPECS]$mock -r c3-i386 /home/angenenr/redhat/SRPMS/apache-ssl-2.8.28-2el4.src.rpm | init | clean | prep | This may take a while | Could not find useradd in chroot, maybe the install failed?
Nope, it's not the
config_opts['chroot_setup_cmd'] = 'groupinstall build'
issue, as I'm still using mock 0.4 (from kbs-CentOS-extras).
I'm seeing this in the root.log in result/:
| Executing /usr/sbin/mock-helper mount -t proc proc | /var/lib/mock/c3-i386/root/proc | mount: proc already mounted or /var/lib/mock/c3-i386/root/proc busy | mount: according to mtab, proc is already mounted on | /var/lib/mock/c3-i386/root/proc | | Executing /usr/sbin/mock-helper mount -t devpts devpts | /var/lib/mock/c3-i386/root/dev/pts | mount: devpts already mounted or /var/lib/mock/c3-i386/root/dev/pts busy | mount: according to mtab, devpts is already mounted on | /var/lib/mock/c3-i386/root/dev/pts
When mock is trying to install the rpms for the buildroot then, I see:
| error: can't create transaction lock on /var/lib/mock/c3-i386/root/var/lock/rpm/transaction
And my root/ directory is missing usr/.
Anyone else seeing this?
Regards,
Ralph -- Ralph Angenendt......ra@br-online.de | .."Text processing has made it possible Bayerischer Rundfunk...80300 München | ....to right-justify any idea, even one Programmbereich.Bayern 3, Jugend und | .which cannot be justified on any other Multimedia.........Tl:089.5900.16023 | ..........grounds." -- J. Finnegan, USC
Ralph Angenendt wrote:
Morning,
somehow the upgrade to 4.4 broke mock on my system:
| [angenenr@shutdown SPECS]$mock -r c3-i386 /home/angenenr/redhat/SRPMS/apache-ssl-2.8.28-2el4.src.rpm | init | clean | prep | This may take a while | Could not find useradd in chroot, maybe the install failed?
Nope, it's not the
config_opts['chroot_setup_cmd'] = 'groupinstall build'
issue, as I'm still using mock 0.4 (from kbs-CentOS-extras).
I'm seeing this in the root.log in result/:
| Executing /usr/sbin/mock-helper mount -t proc proc | /var/lib/mock/c3-i386/root/proc | mount: proc already mounted or /var/lib/mock/c3-i386/root/proc busy | mount: according to mtab, proc is already mounted on | /var/lib/mock/c3-i386/root/proc | | Executing /usr/sbin/mock-helper mount -t devpts devpts | /var/lib/mock/c3-i386/root/dev/pts | mount: devpts already mounted or /var/lib/mock/c3-i386/root/dev/pts busy | mount: according to mtab, devpts is already mounted on | /var/lib/mock/c3-i386/root/dev/pts
When mock is trying to install the rpms for the buildroot then, I see:
| error: can't create transaction lock on /var/lib/mock/c3-i386/root/var/lock/rpm/transaction
And my root/ directory is missing usr/.
Anyone else seeing this?
just noticed that its a c3 buildroot ? are you using a yum-2.4.x on your c3 machine and buildroot ?
I am on 0.6 mock - dont see this issue. But did you by-chance enable selinux ? you problem sounds exactly like an issue I had with selinux in enforcing mode not allowing mock to do anything.
Karanbir Singh wrote:
Ralph Angenendt wrote:
| Executing /usr/sbin/mock-helper mount -t proc proc | /var/lib/mock/c3-i386/root/proc | mount: proc already mounted or /var/lib/mock/c3-i386/root/proc busy | mount: according to mtab, proc is already mounted on | /var/lib/mock/c3-i386/root/proc
just noticed that its a c3 buildroot ? are you using a yum-2.4.x on your c3 machine and buildroot ?
No. I'm using yum-2.4.x on a c4 machine doing builds for c3 :) - but I'm seeing the same issues when building for c4.
I am on 0.6 mock - dont see this issue. But did you by-chance enable selinux ? you problem sounds exactly like an issue I had with selinux in enforcing mode not allowing mock to do anything.
Ah. That could be it. Though it still worked 10 minutes before upgrading the box to 4.4 :)
Hmmm. Setting it to permissive didn't work. I'm going to turn off SELinux and reboot and try again.
Is there a mock 0.6.0 in one of your repositories?
Cheers,
Ralph
Ralph Angenendt wrote:
Hmmm. Setting it to permissive didn't work. I'm going to turn off SELinux and reboot and try again.
Nope. That's not it either. Strange.
Is there a mock 0.6.0 in one of your repositories?
If not, I'll just rebuild one with mock! Haha!
Ralph
Ralph Angenendt napsal(a):
Is there a mock 0.6.0 in one of your repositories?
If not, I'll just rebuild one with mock! Haha!
I have installed libselinux-devel, rebuild source rpm 0.6.4, switched to config_opts['chroot_setup_cmd'] = 'groupinstall build' and config_opts['buildgroup'] = 'build build-minimal build-base local'
1. still getting error: can't create transaction lock on /var/lib/mock/centos-4-i386/root/var/lock/ rpm/transaction 2. mock says 'Could not find useradd in chroot, maybe the install failed?' 3. shadow-utils packages is within yum transaction
Regards, David
Ralph Angenendt wrote:
Hmmm. Setting it to permissive didn't work. I'm going to turn off SELinux and reboot and try again.
Nope. That's not it either. Strange.
Is there a mock 0.6.0 in one of your repositories?
If not, I'll just rebuild one with mock! Haha!
Ralph
David Hrbáč wrote:
Ralph Angenendt napsal(a):
| error: can't create transaction lock on /var/lib/mock/c3-i386/root/var/lock/rpm/transaction
Experiencing the very same after upgrading build machine to 4.4.
Thanks, so I'm not seeing ghosts. But I also saw that you're having the same problems with 0.6.x. Hmmm. I still can build stuff on my fedora system, but the CentOS system just has more power.
And it's not SELinux, I'm still getting the same error with it turned off completely.
Ralph
Ralph Angenendt napsal(a):
And it's not SELinux, I'm still getting the same error with it turned off completely.
Selinux is not the issue. Chrooted directory var is totally empty. Doesn't contain lock/rpm.
Right now I'm looking at: [groups] name=groups baseurl=http://fedoraproject.org/buildgroups/3/i386/
Is there something for Centos? I only know about http://merlin.fit.vutbr.cz/mirrors/centos/4/os/i386/yumgroups.xml
David
David Hrbáč wrote:
Right now I'm looking at: [groups] name=groups baseurl=http://fedoraproject.org/buildgroups/3/i386/
Is there something for Centos? I only know about http://merlin.fit.vutbr.cz/mirrors/centos/4/os/i386/yumgroups.xml
I have my own repositories for that. As already said: 10 minutes before upgrading to 4.4 I built packages with mock ...
I'm also wondering about the mount problems: "According to mtab foo is already mounted" - the mtab in the buildroot is empty at that time. So it seems that the command issued by mockhelper is looking at the real /etc/mtab.
Ralph
Ralph Angenendt пишет:
When mock is trying to install the rpms for the buildroot then, I see:
| error: can't create transaction lock on /var/lib/mock/c3-i386/root/var/lock/rpm/transaction
And my root/ directory is missing usr/.
I dare to assume - there can be it consequences of correction RedHat #151255 ?
If to execute a command: # yum --installroot /var/lib/mock/centos-4-i386-core/root install filesystem
the output will be the same: <...> error: can't create transaction lock on /var/lib/mock/centos-4-i386-core/root/var/lock/rpm/transaction <..>
Konstantin Klimchev wrote:
Ralph Angenendt пишет: I dare to assume - there can be it consequences of correction RedHat #151255 ?
Reading http://rhn.redhat.com/errata/RHBA-2006-0440.html - yes, it clearly looks like it.
Ralph
Konstantin Klimchev napsal(a):
I dare to assume - there can be it consequences of correction RedHat #151255 ?
If to execute a command: # yum --installroot /var/lib/mock/centos-4-i386-core/root install filesystem
Well, probably something different. I took old virtual machine in VMWare, running 2.6.9-34EL.
1. installed mock-0.6.4-1 2. run mock pam...src.rpm - OK 3. yum update rpm - updated to 4.3.3-18 4. run mock pam...src.rpm - OK 5. yum update yum - updated to 2.4.3-1 6. run mock pam...src.rpm - OK 7. yum update sqlite - updated to 3.3.3-1.2 8. run mock pam...src.rpm - not working anymore, because yum is not working 9. rpm -Uhv python-sqlite-1.1.7-1.2 10. run mock pam...src.rpm - OK 11. yum -y update, no reboot to stay on older kernel 12. run mock pam...src.rpm - not working - "can't create transaction lock on /var/lib/mock/centos-4-i386/root/var/lock/rpm/transaction" and "Could not find useradd in chroot, maybe the install failed?" 13. reboot, run mock - the very same
So I dare to say it has nothing to do with mock/rpm/yum/sqlite/python-sqlite...
David
On Tue, 2006-09-05 at 15:43 +0200, David Hrbáč wrote:
Konstantin Klimchev napsal(a):
I dare to assume - there can be it consequences of correction RedHat #151255 ?
If to execute a command: # yum --installroot /var/lib/mock/centos-4-i386-core/root install filesystem
Well, probably something different. I took old virtual machine in VMWare, running 2.6.9-34EL.
- installed mock-0.6.4-1
- run mock pam...src.rpm - OK
- yum update rpm - updated to 4.3.3-18
- run mock pam...src.rpm - OK
- yum update yum - updated to 2.4.3-1
- run mock pam...src.rpm - OK
- yum update sqlite - updated to 3.3.3-1.2
- run mock pam...src.rpm - not working anymore, because yum is not working
- rpm -Uhv python-sqlite-1.1.7-1.2
- run mock pam...src.rpm - OK
- yum -y update, no reboot to stay on older kernel
- run mock pam...src.rpm - not working - "can't create transaction
lock on /var/lib/mock/centos-4-i386/root/var/lock/rpm/transaction" and "Could not find useradd in chroot, maybe the install failed?" 13. reboot, run mock - the very same
So I dare to say it has nothing to do with mock/rpm/yum/sqlite/python-sqlite...
http://rhn.redhat.com/errata/RHBA-2006-0440.html
The fix is to define _rpmlock_path inside the chroot as the user who is installing the software (per the above link).
Johnny Hughes napsal(a):
- installed mock-0.6.4-1
- run mock pam...src.rpm - OK
- yum update rpm - updated to 4.3.3-18
- run mock pam...src.rpm - OK
- yum update yum - updated to 2.4.3-1
- run mock pam...src.rpm - OK
- yum update sqlite - updated to 3.3.3-1.2
- run mock pam...src.rpm - not working anymore, because yum is not working
- rpm -Uhv python-sqlite-1.1.7-1.2
- run mock pam...src.rpm - OK
- yum -y update, no reboot to stay on older kernel
- run mock pam...src.rpm - not working - "can't create transaction
lock on /var/lib/mock/centos-4-i386/root/var/lock/rpm/transaction" and "Could not find useradd in chroot, maybe the install failed?" 13. reboot, run mock - the very same
http://rhn.redhat.com/errata/RHBA-2006-0440.html
The fix is to define _rpmlock_path inside the chroot as the user who is installing the software (per the above link).
No, I guess, this is not the issue. Setting %_rpmlock_path didn't help. As I have written, upgrading to rpm-4.3.3-18 within CentOS 4.3 doesn't block 'mocking'. David
David Hrbáč wrote:
Johnny Hughes napsal(a):
The fix is to define _rpmlock_path inside the chroot as the user who is installing the software (per the above link).
No, I guess, this is not the issue. Setting %_rpmlock_path didn't help. As I have written, upgrading to rpm-4.3.3-18 within CentOS 4.3 doesn't block 'mocking'.
What works for me (Karanbir Singh found this) is adding
os.path.join(self.rootdir, 'var/lock/rpm'),
around line 530 of /usr/bin/mock - works for me with 0.4.x, but supposedly also works with 0.6.x.
You find the lines by searching for "# make chroot dir".
Regards,
Ralph
Ralph Angenendt пишет:
What works for me (Karanbir Singh found this) is adding
os.path.join(self.rootdir, 'var/lock/rpm'),
around line 530 of /usr/bin/mock - works for me with 0.4.x, but supposedly also works with 0.6.x.
You find the lines by searching for "# make chroot dir".
patch for mock-0.6.4:
======================================================================== --- mock.orig 2006-09-05 08:59:59.000000000 +0400 +++ mock 2006-09-06 12:38:04.000000000 +0400 @@ -581,7 +581,8 @@ class Root: os.path.join(self.rootdir, 'etc/rpm'), os.path.join(self.rootdir, 'tmp'), os.path.join(self.rootdir, 'var/tmp'), - os.path.join(self.rootdir, 'etc/yum.repos.d')]: + os.path.join(self.rootdir, 'etc/yum.repos.d'), + os.path.join(self.rootdir, 'var/lock/rpm')]: self._ensure_dir(item)
self._mount() ========================================================================
Ralph Angenendt napsal(a):
David Hrbáč wrote:
os.path.join(self.rootdir, 'var/lock/rpm'),
around line 530 of /usr/bin/mock - works for me with 0.4.x, but supposedly also works with 0.6.x.
Thanks, it helped. I don't get it why... As I have written, non-updated 4.3 OS with updated yum, rpm, sqlite, python-sqlite doesn't break mock running. Once I have updated remaining packages, moc's broken. Thanks, David