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