Hi,

On Wed, 2010-04-21 at 13:19 +0200, Marc Wäckerlin wrote:
> Hi Thomas
> Hi Loic and Hi Ubuntu MOTU Developers
> 
> 
> =================================================================================
> Motivation
> =================================================================================
> 
> First of all, thank's for "mach". I am looking for a solution to build 
> SuSE/RedHat-RPMs on my Ubuntu build server. I developed a software for which 
> I'd like to provide distribution specific packages. Since our buildsystem is 
> Ubuntu i386 Karmic Koala, it's no problem to build i386/amd64 binary Karmic 
> Koala, and for other Ubuntu/Debian packages, there's debootstrap/dchroot. But 
> for RPM-based distributions, "mach" is the best solution I found by now.
> 
> Or is there any better approach?
> 
> Some of the packages to distribute packages are free, but some others have 
> been licenced by us and cannot be set free. That's why I can't e.g. use the 
> OpenSUSE-Buildserver.

That's fine, you can set up your own custom repositories, we do that at
work too.


> 
> 
> =================================================================================
> How I installed the package on Ubuntu Karmic Koala, installation problems:
> =================================================================================
> 
> "mach" is available in the Ubuntu repositories, but unfortunately only in the 
> very old release 0.9.1. That's why I had to compile it myself.
> 
> "alien" does not work to convert Thomas' packages for fc11 to karmic, it 
> results in:
> ---------------------------------------------------------------------------------
> chown: cannot access `mach-0.9.5//var/tmp/mach': No such file or directory
> failed chowning /var/tmp/mach to 0:0:  at 
> /usr/share/perl5/Alien/Package/Rpm.pm line 265, <GETPERMS> line 73.
> ---------------------------------------------------------------------------------
> And so does "rpmbuild" from the source-rpm package: it ends in the same error 
> message.

I can't understand people who see the need for mach but still use
alien :) This is a matter of taste of course.


> Installing to "/usr/local" using "./configure && make && sudo make install" 
> results in an installation that does not work. Some paths seem not to be used 
> in the correct way (hard-coded?).

More info please ? I doubt there is actual hardcoding going on.


> That's why I ended up in the following installation procedure (using 
> checkinstall):
> ---------------------------------------------------------------------------------
>   ./configure --prefix /usr --sysconfdir /etc --sharedstatedir /var 
> --localstatedir /var
>   sudo checkinstall bash -c "make install && chmod u+s /usr/sbin/mach-helper"
> ---------------------------------------------------------------------------------

That probably works too, though again, people who see the need for mach
typically also never install manually built stuff in /usr

> 
> =================================================================================
> Question 1: Where are the OpenSUSE-configurations?
> =================================================================================
> 
> In the README, it's documented, that OpenSUSE 11.0 would be supported, but I 
> can't find it in /etc/mach/dist.d/ - how do I install OpenSUSE, what are the 
> "mach" arguments to install OpenSUSE?
[tho...@level ~]$ rpm -ql mach | grep suse
/etc/mach/dist.d/opensuse-102-i386
/etc/mach/dist.d/opensuse-103-i386
/etc/mach/dist.d/opensuse-110-i386
/etc/mach/dist.d/suse-81-i386
/etc/mach/dist.d/suse-82-i386
/etc/mach/dist.d/suse-90-i386
[tho...@level ~]$ rpm -qi mach
Name        : mach                         Relocations: (not
relocatable)
Version     : 0.9.5.1                           Vendor: (none)
Release     : 0.20100406.153432.fc12        Build Date: Tue 06 Apr 2010
03:39:37 PM CEST
Install Date: Tue 06 Apr 2010 03:39:57 PM CEST      Build Host:
level.fluendo.lan
Group       : Applications/System           Source RPM:
mach-0.9.5.1-0.20100406.153432.fc12.src.rpm
Size        : 476816                           License: GPLv2+
Signature   : (none)
URL         : http://thomas.apestaart.org/projects/mach/
Summary     : Make a chroot


Looking at the ChangeLog it seems they weren't actually in the 0.9.5
release, so you can either build from CVS HEAD, or just copy the
necessary /etc/dist.d files from the CVS repo.

> 
> 
> =================================================================================
> Question 2: Problem installing distributions:
> =================================================================================
> 
> Then I tested the installation of several distribution, with the command 
> "sudo mach -r fedora-3-i386-core setup build". Where I tried several 
> combinations of distributions, with the following results:
>  - fedora-3-i386-core -> Success!
>  - fedora-3-i386-updates -> Success!
>  - fedora-3-i386-extras -> Success!
>  - fedora-4-i386-updates -> Success!
>  - fedora-9-i386-updates -> FAILED!
>  - fedora-10-i386-updates -> FAILED! (solved)
>  - fedora-11-i386-fedora -> FAILED!
>  - fedora-11-i386-updates -> FAILED! (unsolved)
> 
> 
> As can see in the output below, there are two different errors:
> 
> For Fedora 9
>  - URL has changed to: http://archives.fedoraproject.org/pub/archive/fedora/
>  - I solved this by changing fedorayum to fedorayuma.

Also changed in CVS HEAD recently.

> But what's the problem with Fedora 11?
> 
> Output:
> ---------------------------------------------------------------------------------
> sudo mach -r fedora-9-i386-updates setup build
> ---------------------------------------------------------------------------------
> Installing package set 'minimal' ...!
> ERROR: /usr/sbin/mach-helper yum -c 
> /var/lib/mach/states/fedora-9-i386-updates/yum.conf 
> --installroot=/var/lib/mach/roots/fedora-9-i386-updates  -y -y install bash 
> glibc failed.
>  
> http://download.fedora.redhat.com/pub/fedora/linux/releases/9/Everything/i386/os/repodata/repomd.xml:
>  [Errno 14] HTTP Error 404: Not Found
> Trying other mirror.
> Error: Cannot retrieve repository metadata (repomd.xml) for repository: 
> everything. Please verify its path and try again
> 
> Retrying installing package set 'minimal' ...!
> ERROR: /usr/sbin/mach-helper yum -c 
> /var/lib/mach/states/fedora-9-i386-updates/yum.conf 
> --installroot=/var/lib/mach/roots/fedora-9-i386-updates  -y -y install bash 
> glibc failed.
>  
> http://download.fedora.redhat.com/pub/fedora/linux/releases/9/Everything/i386/os/repodata/repomd.xml:
>  [Errno 14] HTTP Error 404: Not Found
> Trying other mirror.
> Error: Cannot retrieve repository metadata (repomd.xml) for repository: 
> everything. Please verify its path and try again
> 

This one you fixed, correct ?

> ERROR: Could not yum -y install bash glibc
> ---------------------------------------------------------------------------------
> ---------------------------------------------------------------------------------
> sudo mach -r fedora-11-i386-updates setup build
> ---------------------------------------------------------------------------------
> Installing package set 'minimal' ...!                                    
> ERROR: /usr/sbin/mach-helper yum -c 
> /var/lib/mach/states/fedora-11-i386-updates/yum.conf 
> --installroot=/var/lib/mach/roots/fedora-11-i386-updates  -y -y install bash 
> glibc failed.                                     
>  Setting up Install Process                                                   
>                               
> Resolving Dependencies                                                        
>                               
> --> Running transaction check                                                 
>                               
> ---> Package bash.i586 0:4.0-9.fc11 set to be updated                         
>                               
> --> Processing Dependency: libtinfo.so.5 for package: bash-4.0-9.fc11.i586    
>                               
> --> Processing Dependency: ncurses-libs for package: bash-4.0-9.fc11.i586     
>                               
> ---> Package glibc.i686 0:2.10.2-1 set to be updated                          
>                               
> --> Processing Dependency: glibc-common = 2.10.2-1 for package: 
> glibc-2.10.2-1.i686                         
> --> Processing Dependency: basesystem for package: glibc-2.10.2-1.i686        
>                               
> --> Processing Dependency: libfreebl3.so(NSSRAWHASH_3.12.3) for package: 
> glibc-2.10.2-1.i686                
> --> Processing Dependency: libgcc for package: glibc-2.10.2-1.i686            
>                               
> --> Processing Dependency: libfreebl3.so for package: glibc-2.10.2-1.i686     
>                               
> --> Running transaction check                                                 
>                               
> ---> Package basesystem.noarch 0:10.0-2 set to be updated                     
>                               
> --> Processing Dependency: filesystem for package: basesystem-10.0-2.noarch   
>                               
> --> Processing Dependency: setup for package: basesystem-10.0-2.noarch        
>                               
> ---> Package glibc-common.i586 0:2.10.2-1 set to be updated                   
>                               
> --> Processing Dependency: tzdata >= 2003a for package: 
> glibc-common-2.10.2-1.i586                          
> ---> Package libgcc.i586 0:4.4.1-2.fc11 set to be updated                     
>                               
> ---> Package ncurses-libs.i586 0:5.7-2.20090207.fc11 set to be updated        
>                               
> --> Processing Dependency: ncurses-base = 5.7-2.20090207.fc11 for package: 
> ncurses-libs-5.7-2.20090207.fc11.i586                                         
>                                                                
> ---> Package nss-softokn-freebl.i586 0:3.12.6-1.2.fc11 set to be updated      
>                               
> --> Running transaction check                                                 
>                               
> ---> Package filesystem.i586 0:2.4.21-1.fc11 set to be updated                
>                               
> ---> Package ncurses-base.i586 0:5.7-2.20090207.fc11 set to be updated        
>                               
> ---> Package setup.noarch 0:2.8.3-3.fc11 set to be updated                    
>                               
> ---> Package tzdata.noarch 0:2010f-3.fc11 set to be updated                   
>                               
> --> Finished Dependency Resolution                                            
>                               
> 
> Dependencies Resolved
> 
> ================================================================================
>  Package                Arch       Version                 Repository      
> Size 
> ================================================================================
> Installing:                                                                   
>   
>  bash                   i586       4.0-9.fc11              updates        1.1 
> M 
>  glibc                  i686       2.10.2-1                updates        5.8 
> M 
> Installing for dependencies:                                                  
>   
>  basesystem             noarch     10.0-2                  everything     3.9 
> k 
>  filesystem             i586       2.4.21-1.fc11           everything     109 
> k 
>  glibc-common           i586       2.10.2-1                updates         23 
> M 
>  libgcc                 i586       4.4.1-2.fc11            updates         98 
> k 
>  ncurses-base           i586       5.7-2.20090207.fc11     everything      68 
> k 
>  ncurses-libs           i586       5.7-2.20090207.fc11     everything     334 
> k 
>  nss-softokn-freebl     i586       3.12.6-1.2.fc11         updates        137 
> k 
>  setup                  noarch     2.8.3-3.fc11            updates        157 
> k 
>  tzdata                 noarch     2010f-3.fc11            updates        847 
> k
> 
> Transaction Summary
> ================================================================================
> Install     11 Package(s)
> Update       0 Package(s)
> Remove       0 Package(s)
> 
> Total size: 31 M
> Downloading Packages:
> Running rpm_check_debug
> ERROR with rpm_check_debug vs depsolve:
> rpmlib(BuiltinLuaScripts) is needed by bash-4.0-9.fc11.i586
> rpmlib(BuiltinLuaScripts) is needed by setup-2.8.3-3.fc11.noarch
> Complete!
> (1, [u'Please report this error in http://yum.baseurl.org/report'])
> 
> Retrying installing package set 'minimal' ...!
> ERROR: /usr/sbin/mach-helper yum -c 
> /var/lib/mach/states/fedora-11-i386-updates/yum.conf 
> --installroot=/var/lib/mach/roots/fedora-11-i386-updates  -y -y install bash 
> glibc failed.
>  Setting up Install Process
> Resolving Dependencies
> --> Running transaction check
> ---> Package bash.i586 0:4.0-9.fc11 set to be updated
> --> Processing Dependency: libtinfo.so.5 for package: bash-4.0-9.fc11.i586
> --> Processing Dependency: ncurses-libs for package: bash-4.0-9.fc11.i586
> ---> Package glibc.i686 0:2.10.2-1 set to be updated
> --> Processing Dependency: glibc-common = 2.10.2-1 for package: 
> glibc-2.10.2-1.i686
> --> Processing Dependency: basesystem for package: glibc-2.10.2-1.i686
> --> Processing Dependency: libfreebl3.so(NSSRAWHASH_3.12.3) for package: 
> glibc-2.10.2-1.i686
> --> Processing Dependency: libgcc for package: glibc-2.10.2-1.i686
> --> Processing Dependency: libfreebl3.so for package: glibc-2.10.2-1.i686
> --> Running transaction check
> ---> Package basesystem.noarch 0:10.0-2 set to be updated
> --> Processing Dependency: filesystem for package: basesystem-10.0-2.noarch
> --> Processing Dependency: setup for package: basesystem-10.0-2.noarch
> ---> Package glibc-common.i586 0:2.10.2-1 set to be updated
> --> Processing Dependency: tzdata >= 2003a for package: 
> glibc-common-2.10.2-1.i586
> ---> Package libgcc.i586 0:4.4.1-2.fc11 set to be updated
> ---> Package ncurses-libs.i586 0:5.7-2.20090207.fc11 set to be updated
> --> Processing Dependency: ncurses-base = 5.7-2.20090207.fc11 for package: 
> ncurses-libs-5.7-2.20090207.fc11.i586
> ---> Package nss-softokn-freebl.i586 0:3.12.6-1.2.fc11 set to be updated
> --> Running transaction check
> ---> Package filesystem.i586 0:2.4.21-1.fc11 set to be updated
> ---> Package ncurses-base.i586 0:5.7-2.20090207.fc11 set to be updated
> ---> Package setup.noarch 0:2.8.3-3.fc11 set to be updated
> ---> Package tzdata.noarch 0:2010f-3.fc11 set to be updated
> --> Finished Dependency Resolution
> 
> Dependencies Resolved
> 
> ================================================================================
>  Package                Arch       Version                 Repository      
> Size
> ================================================================================
> Installing:
>  bash                   i586       4.0-9.fc11              updates        1.1 
> M
>  glibc                  i686       2.10.2-1                updates        5.8 
> M
> Installing for dependencies:
>  basesystem             noarch     10.0-2                  everything     3.9 
> k
>  filesystem             i586       2.4.21-1.fc11           everything     109 
> k
>  glibc-common           i586       2.10.2-1                updates         23 
> M
>  libgcc                 i586       4.4.1-2.fc11            updates         98 
> k
>  ncurses-base           i586       5.7-2.20090207.fc11     everything      68 
> k
>  ncurses-libs           i586       5.7-2.20090207.fc11     everything     334 
> k
>  nss-softokn-freebl     i586       3.12.6-1.2.fc11         updates        137 
> k
>  setup                  noarch     2.8.3-3.fc11            updates        157 
> k
>  tzdata                 noarch     2010f-3.fc11            updates        847 
> k
> 
> Transaction Summary
> ================================================================================
> Install     11 Package(s)
> Update       0 Package(s)
> Remove       0 Package(s)
> 
> Total size: 31 M
> Downloading Packages:
> Running rpm_check_debug
> ERROR with rpm_check_debug vs depsolve:
> rpmlib(BuiltinLuaScripts) is needed by bash-4.0-9.fc11.i586
> rpmlib(BuiltinLuaScripts) is needed by setup-2.8.3-3.fc11.noarch
> Complete!
> (1, [u'Please report this error in http://yum.baseurl.org/report'])


My best guess here (I recall something like that happening to me too) is
that the host system needs an rpmlib that has BuiltinLuaScripts as a
capability, a recent addition.  The host yum doing the installing uses
the host rpmlib, not the guest rpmlib, and I'm guessing the rpm/rpmlib
ubuntu ships doesn't have this.  rpm needs updating on the host for this
to work.

Thomas

-- 
Death, where is thy sting?
Grave, where is thy victory? 
--
Flumotion - the only way to stream!
http://www.flumotion.net/



-- 
Ubuntu-motu mailing list
Ubuntu-motu@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-motu

Reply via email to