[PATCH 3/3] mock cvs 2007-03: contrib DENX ELDK cross configs

Ken MacLeod ken at bitsko.slc.ut.us
Wed Jun 13 02:15:48 UTC 2007


Adds configuration files and buildsys-build packages for using the
DENX Embedded Linux Development Kit (ELDK) 4.0 and 4.1 on top of
another base or core distribution like RHEL4.  It should work with any
ELDK target architecture with little changes.  This patch is based on
a Freescale PPC target.

Includes scripts to build Yum repos for ELDK and a Makefile that runs
through a complete bootstrap build process building buildsys-build for
the cross root and target root.

Requires the distclean and cross patches.


---

 Makefile                                           |    2 
 contrib/Makefile                                   |   14 ++
 contrib/eldk/Makefile                              |   99 +++++++++++++++++
 .../eldk/buildsys-build-eldk-4.0-ppc-cross.spec    |   68 +++++++++++++
 contrib/eldk/buildsys-build-eldk-4.0-ppc.spec      |  115 +++++++++++++++++++
 .../eldk/buildsys-build-eldk-4.1-ppc-cross.spec    |   69 +++++++++++++
 .../eldk/buildsys-build-eldk-4.1-ppc-fixup.spec    |   19 ++++
 contrib/eldk/buildsys-build-eldk-4.1-ppc.spec      |  119 ++++++++++++++++++++
 contrib/eldk/mk-eldk-4.0-ppc-repo.sh               |   18 +++
 contrib/eldk/mk-eldk-4.1-ppc-repo.sh               |   19 +++
 etc/eldk-4.0.cfg                                   |   62 ++++++++++
 etc/eldk-4.1.cfg                                   |   72 ++++++++++++
 12 files changed, 675 insertions(+), 1 deletions(-)

diff --git a/Makefile b/Makefile
index 0dd1094..aa58a6b 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-SUBDIRS = etc src docs
+SUBDIRS = etc src docs contrib
 
 PKGNAME = mock
 VERSION=$(shell awk '/Version:/ { print $$2 }' ${PKGNAME}.spec)
diff --git a/contrib/Makefile b/contrib/Makefile
new file mode 100644
index 0000000..b0394f2
--- /dev/null
+++ b/contrib/Makefile
@@ -0,0 +1,14 @@
+SUBDIRS = eldk
+
+all:
+	for d in $(SUBDIRS); do make -C $$d all ; done
+
+clean:
+	$(RM) *~
+	for d in $(SUBDIRS); do make -C $$d clean ; done
+
+distclean: clean
+	for d in $(SUBDIRS); do make -C $$d distclean ; done
+
+install:
+	for d in $(SUBDIRS); do make -C $$d install ; done
diff --git a/contrib/eldk/Makefile b/contrib/eldk/Makefile
new file mode 100644
index 0000000..d3558e9
--- /dev/null
+++ b/contrib/eldk/Makefile
@@ -0,0 +1,99 @@
+MOCKCFG=centos-4-i386
+MOCKROOT=/var/lib/mock/${MOCKCFG}
+MOCKTARGCFG=centos-4-i386-eldk
+MOCKTARGROOT=/var/lib/mock/${MOCKTARGCFG}
+
+TOOLKIT_VERSIONS= 4.0 4.1
+
+TIME=/usr/bin/time
+SUDO=sudo
+
+CROSSREPO=$(HOME)/local-repo/$(MOCKCFG)
+
+all:
+	echo "Nothing to do"
+
+clean:
+	rm -f *~
+
+install:
+	echo "Nothing to do"
+
+distclean: clean
+	$(RM) -r buildsys $(CROSSREPO)/eldk-4.?-* SRPMS
+	$(SUDO) rm -rf buildsys-root
+
+SRPMS/buildsys-build-eldk-4.1-ppc-fixup-1.00-1.src.rpm: buildsys-build-eldk-4.1-ppc-fixup.spec
+	rm -rf buildsys
+	mkdir buildsys
+	mkdir -p SRPMS
+	rpmbuild --define "_sourcedir $(PWD)" \
+	  --define "_builddir $(PWD)/buildsys" \
+	  --define "_srcrpmdir $(PWD)/SRPMS" \
+	  -bs $<
+
+$(CROSSREPO)/%/host/repodata/filelists.xml.gz: SRPMS/buildsys-build-eldk-4.1-ppc-fixup-1.00-1.src.rpm
+	$(TIME) mock --autocache -r ${MOCKCFG} `pwd`/$<
+	mkdir -p `dirname $$(dirname $@)`
+	mv ${MOCKROOT}-${USER}/result/*noarch.rpm `dirname $$(dirname $@)`
+	createrepo `dirname $$(dirname $@)`
+
+fixup-rpm: $(CROSSREPO)/eldk-4.1-ppc/host/repodata/filelists.xml.gz
+
+SRPMS/buildsys-build-%-cross-0.5-1.src.rpm: buildsys-build-%-cross.spec
+	rm -rf buildsys
+	mkdir buildsys
+	mkdir -p SRPMS
+	rpmbuild --define "_sourcedir $(PWD)" \
+	  --define "_builddir $(PWD)/buildsys" \
+	  --define "_srcrpmdir $(PWD)/SRPMS" \
+	  -bs $<
+
+$(CROSSREPO)/%/cross/repodata/filelists.xml.gz: SRPMS/buildsys-build-%-cross-0.5-1.src.rpm
+	$(TIME) mock --autocache -r ${MOCKCFG} `pwd`/$<
+	mkdir -p `dirname $$(dirname $@)`
+	mv ${MOCKROOT}-${USER}/result/*noarch.rpm `dirname $$(dirname $@)`
+	createrepo `dirname $$(dirname $@)`
+
+buildsys-%-cross-check: $(CROSSREPO)/%/cross/repodata/filelists.xml.gz
+	$(SUDO) rm -rf buildsys-root
+	mkdir -p buildsys-root/var/lock/rpm
+	perl -ne 'if (($$in = /tk_cross_yum.conf/../^"""/) && ($$in > 1 && $$in !~ /E0/)) { s/%.root_base.s/$(MOCKCFG)/g; ($$a,$$b,$$c)=split(/-/,"$*"); s/%.toolkit.s/$$a-$$b/g; s/%.base_arch.s/$$c/g; print }' \
+	  </etc/mock/`echo $* | sed -e 's/-[^-]*$$//g'`.cfg >buildsys-root/check.yum
+	$(TIME) $(SUDO) yum --installroot=`pwd`/buildsys-root \
+	  -c buildsys-root/check.yum \
+	  install buildsys-build-$*-cross
+
+buildsys-cross-check: buildsys-eldk-4.0-ppc-cross-check buildsys-eldk-4.1-ppc-cross-check
+
+SRPMS/buildsys-build-%-0.5-1.src.rpm: buildsys-build-%.spec
+	rm -rf buildsys
+	mkdir buildsys
+	mkdir -p SRPMS
+	rpmbuild --define "_sourcedir $(PWD)" \
+	  --define "_builddir $(PWD)/buildsys" \
+	  --define "_srcrpmdir $(PWD)/SRPMS" \
+	  -bs $<
+
+$(CROSSREPO)/%/ppc_85xx/repodata/filelists.xml.gz: SRPMS/buildsys-build-%-0.5-1.src.rpm
+	BUILDSYS_BOOT=true \
+	  $(TIME) mock -r ${MOCKTARGCFG} \
+	  --toolkit=`echo $@ | egrep --only-matching 'eldk-[0-9.]*'` \
+	  `pwd`/$<
+	$(RM) -r `dirname $$(dirname $@)`
+	mkdir `dirname $$(dirname $@)`
+	mv ${MOCKTARGROOT}-${USER}/result/*.[pn]*.rpm `dirname $$(dirname $@)`
+	createrepo `dirname $$(dirname $@)`
+
+buildsys-%-check: $(CROSSREPO)/%/ppc_85xx/repodata/filelists.xml.gz
+	$(SUDO) rm -rf buildsys-root
+	mkdir -p buildsys-root/var/lock/rpm
+	perl -ne 'if (($$in = /tk_target_yum.conf/../^"""/) && ($$in > 1 && $$in !~ /E0/)) { s/%.root_base.s/$(MOCKCFG)/g; ($$a,$$b,$$c)=split(/-/,"$*"); s/%.toolkit.s/$$a-$$b/g; s/%.base_arch.s/$$c/g; s/%.target_arch.s/ppc_85xx/g; print }' \
+	  </etc/mock/`echo $* | sed -e 's/-[^-]*$$//g'`.cfg >buildsys-root/check.yum
+	$(TIME) $(SUDO) yum --installroot=`pwd`/buildsys-root \
+	  -c buildsys-root/check.yum \
+	  install buildsys-build-`basename $*`\*
+
+buildsys-target-check: buildsys-eldk-4.0-ppc-check buildsys-eldk-4.1-ppc-check
+
+buildsys-check: buildsys-cross-check buildsys-target-check
diff --git a/contrib/eldk/buildsys-build-eldk-4.0-ppc-cross.spec b/contrib/eldk/buildsys-build-eldk-4.0-ppc-cross.spec
new file mode 100644
index 0000000..33d43da
--- /dev/null
+++ b/contrib/eldk/buildsys-build-eldk-4.0-ppc-cross.spec
@@ -0,0 +1,68 @@
+Summary: The base set of packages for a mock chroot ELDK cross
+Name: buildsys-build-eldk-4.0-ppc-cross
+Version: 0.5
+Release: 1%{?dist}
+License: GPL
+Group: Development/Build Tools
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+BuildArch: noarch
+
+# packages that populate a buildsys chroot
+Requires: rpm
+Requires: texinfo
+Requires: gdb-ppc
+Requires: make-doc
+Requires: mkimage
+Requires: mtd_utils
+Requires: mkcramfs
+Requires: rpm-build
+Requires: crosstool-powerpc-devel
+Requires: make-ppc
+Requires: ldd-ppc
+Requires: genext2fs
+
+# host provides
+Provides: /bin/bash
+Provides: tetex
+Provides: bash
+Provides: perl(Getopt::Long)
+Provides: /bin/sh
+Provides: perl == 5.006001
+Provides: /usr/bin/perl
+Provides: perl(File::Basename)
+Provides: perl(strict)
+
+%description
+The base set of packages for a mock chroot
+
+%build
+%install
+rm -rf $RPM_BUILD_ROOT
+
+mkdir -p $RPM_BUILD_ROOT/usr/bin
+mkdir -p $RPM_BUILD_ROOT/bin
+
+ln -s rpm $RPM_BUILD_ROOT/bin/ppc-linux-rpm
+ln -s rpmbuild $RPM_BUILD_ROOT/usr/bin/ppc-linux-rpmbuild
+
+for target_arch in ppc_6xx ppc_74xx ppc_85xx ppc_8xx; do
+
+    for link in addr2line ar as c++ c++filt cpp g++ gcc gdb ld ldd \
+      make nm objcopy objdump ranlib readelf run size strings strip; \
+      do
+	ln -s ppc-linux-$link $RPM_BUILD_ROOT/usr/bin/${target_arch}-$link
+    done
+
+    ln -s rpm $RPM_BUILD_ROOT/bin/${target_arch}-rpm
+    ln -s ../target $RPM_BUILD_ROOT/$target_arch
+done
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-,root,root,-)
+%doc
+/usr/bin/*
+/bin/*
+/ppc*
diff --git a/contrib/eldk/buildsys-build-eldk-4.0-ppc.spec b/contrib/eldk/buildsys-build-eldk-4.0-ppc.spec
new file mode 100644
index 0000000..83c6431
--- /dev/null
+++ b/contrib/eldk/buildsys-build-eldk-4.0-ppc.spec
@@ -0,0 +1,115 @@
+Summary: The base set of packages for a mock chroot denx target
+Name: buildsys-build-eldk-4.0-ppc
+Version: 0.5
+Release: 1%{?dist}
+License: GPL
+Source0: linux-2.6.15.tar.bz2
+Group: Development/Build Tools
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+BuildArch: noarch
+
+# generic build packages that populate a buildsys chroot
+Requires: bash-ppc_85xx
+#Requires: buildsys-macros
+Requires: bzip2-ppc_85xx
+Requires: coreutils-ppc_85xx
+Requires: cpio-ppc_85xx
+Requires: diffutils-ppc_85xx
+#Requires: fedora-release
+Requires: gcc-ppc_85xx
+Requires: gcc-c++-ppc_85xx
+Requires: gzip-ppc_85xx
+Requires: make-ppc_85xx
+Requires: patch-ppc_85xx
+#Requires: perl
+Requires: rpm-build-ppc_85xx
+#Requires: redhat-rpm-config
+Requires: sed-ppc_85xx
+Requires: tar-ppc_85xx
+#Requires: unzip
+#Requires: which
+
+# ELDK-specific requires
+Requires: crosstool-targetcomponents-ppc_85xx
+Requires: kernel-headers
+
+# broken dependencies in ELDK due to Fedora-repackaging without
+# removing dependent content
+
+Provides: automake-ppc_85xx == 1.4
+Provides: beecrypt-devel-ppc_85xx
+Provides: dev-ppc_85xx
+Provides: elfutils-devel-ppc_85xx
+Provides: /etc/redhat-release
+Provides: ethtool-ppc_85xx == 1.8-2
+Provides: fileutils-ppc_85xx
+Provides: glibc-devel-ppc_85xx == 2.2.90-12
+Provides: hwdata-ppc_85xx
+Provides: info-ppc_85xx
+Provides: kernel-ppc_85xx == 2.6
+Provides: libgcc-ppc_85xx == 4.0.0-1
+Provides: libstdc++-devel-ppc_85xx == 4.0.0
+Provides: libstdc++-ppc_85xx == 4.0.0
+Provides: libtool-libs-ppc_85xx == 1.5.16.multilib2-2_1
+Provides: mount-ppc_85xx == 2.11l
+Provides: nroff-i18n-ppc_85xx
+Provides: /opt/eldk/build/ppc-2006-01-11/work/ppc_85xx/etc/pam.d/system-auth
+Provides: perl(Carp)
+Provides: perl(constant)
+Provides: perl(Cwd)
+Provides: perl(Data::Dumper)
+Provides: perl(DynaLoader)
+Provides: perl(Errno)
+Provides: perl(Exporter)
+Provides: perl(File::Basename)
+Provides: perl(File::Compare)
+Provides: perl(File::Copy)
+Provides: perl(File::Find)
+Provides: perl(File::Spec)
+Provides: perl(File::stat)
+Provides: perl(Getopt::Long)
+Provides: perl(getopts.pl)
+Provides: perl(Getopt::Std)
+Provides: perl(integer)
+Provides: perl(IO::File)
+Provides: perl(Net::SMTP)
+Provides: perl(POSIX)
+Provides: perl-ppc_85xx == 5.006001
+Provides: perl-ppc_85xx == 5.6.1
+Provides: perl(Socket)
+Provides: perl(strict)
+Provides: perl(Term::ReadLine)
+Provides: perl(Text::ParseWords)
+Provides: perl(vars)
+Provides: /sbin/chkconfig
+Provides: /sbin/install-info
+Provides: /sbin/nash
+Provides: /sbin/runuser
+Provides: sh-utils-ppc_85xx
+Provides: textutils-ppc_85xx
+Provides: /usr/bin/perl
+Provides: /usr/sbin/groupadd
+Provides: /usr/sbin/useradd
+
+%description
+The base set of packages for a mock chroot
+
+%prep
+
+%build
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+mkdir -p $RPM_BUILD_ROOT
+cd $RPM_BUILD_ROOT
+tar xjf %{SOURCE0}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-,root,root,-)
+%doc
+/usr/src/linux-2.6.15
+/usr/src/linux
diff --git a/contrib/eldk/buildsys-build-eldk-4.1-ppc-cross.spec b/contrib/eldk/buildsys-build-eldk-4.1-ppc-cross.spec
new file mode 100644
index 0000000..44f35ef
--- /dev/null
+++ b/contrib/eldk/buildsys-build-eldk-4.1-ppc-cross.spec
@@ -0,0 +1,69 @@
+Summary: The base set of packages for a mock chroot ELDK cross
+Name: buildsys-build-eldk-4.1-ppc-cross
+Version: 0.5
+Release: 1%{?dist}
+License: GPL
+Group: Development/Build Tools
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+BuildArch: noarch
+
+# packages that populate a buildsys chroot
+Requires: crosstool-powerpc-devel
+Requires: gdb-ppc
+Requires: genext2fs
+Requires: ldd-ppc
+Requires: make-doc
+Requires: make-ppc
+Requires: mkcramfs
+Requires: mkimage
+Requires: mtd_utils
+Requires: popt
+Requires: rpm
+Requires: rpm-build
+Requires: texinfo
+
+# host provides
+Provides: /bin/bash
+Provides: tetex
+Provides: bash
+Provides: perl(Getopt::Long)
+Provides: /bin/sh
+Provides: perl == 5.006001
+Provides: /usr/bin/perl
+Provides: perl(File::Basename)
+Provides: perl(strict)
+
+%description
+The base set of packages for a mock chroot
+
+%build
+%install
+rm -rf $RPM_BUILD_ROOT
+
+mkdir -p $RPM_BUILD_ROOT/usr/bin
+mkdir -p $RPM_BUILD_ROOT/bin
+
+ln -s rpm $RPM_BUILD_ROOT/bin/ppc-linux-rpm
+ln -s rpmbuild $RPM_BUILD_ROOT/usr/bin/ppc-linux-rpmbuild
+
+for target_arch in ppc_6xx ppc_74xx ppc_85xx ppc_8xx; do
+
+    for link in addr2line ar as c++ c++filt cpp g++ gcc gdb ld ldd \
+      make nm objcopy objdump ranlib readelf run size strings strip; \
+      do
+        ln -s ppc-linux-$link $RPM_BUILD_ROOT/usr/bin/${target_arch}-$link
+    done
+
+    ln -s rpm $RPM_BUILD_ROOT/bin/${target_arch}-rpm
+    ln -s ../target $RPM_BUILD_ROOT/$target_arch
+done
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-,root,root,-)
+%doc
+/usr/bin/*
+/bin/*
+/ppc*
diff --git a/contrib/eldk/buildsys-build-eldk-4.1-ppc-fixup.spec b/contrib/eldk/buildsys-build-eldk-4.1-ppc-fixup.spec
new file mode 100644
index 0000000..3b07b14
--- /dev/null
+++ b/contrib/eldk/buildsys-build-eldk-4.1-ppc-fixup.spec
@@ -0,0 +1,19 @@
+Summary: DENX ELDK 4.1 host chroot setup RPM
+Name: buildsys-build-eldk-4.1-ppc-fixup
+Version: 1.00
+Release: 1
+License: GPL
+Group: Development/Build Tools
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+BuildArch: noarch
+
+%description
+Chroot finalization for cross compiling using the DENX ELDK 4.1
+toolkit.
+
+%post
+cd /usr/src
+ln -s linux-* linux
+
+%files
+%defattr(-,root,root,-)
diff --git a/contrib/eldk/buildsys-build-eldk-4.1-ppc.spec b/contrib/eldk/buildsys-build-eldk-4.1-ppc.spec
new file mode 100644
index 0000000..d0fee0f
--- /dev/null
+++ b/contrib/eldk/buildsys-build-eldk-4.1-ppc.spec
@@ -0,0 +1,119 @@
+Summary: The base set of packages for a mock chroot denx target
+Name: buildsys-build-eldk-4.1-ppc
+Version: 0.5
+Release: 1%{?dist}
+License: GPL
+Group: Development/Build Tools
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+BuildArch: noarch
+
+# generic build packages that populate a buildsys chroot
+Requires: bash-ppc_85xx
+#Requires: buildsys-macros
+Requires: bzip2-ppc_85xx
+Requires: coreutils-ppc_85xx
+Requires: cpio-ppc_85xx
+Requires: diffutils-ppc_85xx
+#Requires: fedora-release
+Requires: gcc-ppc_85xx
+Requires: gcc-c++-ppc_85xx
+Requires: gzip-ppc_85xx
+Requires: make-ppc_85xx
+Requires: patch-ppc_85xx
+#Requires: perl
+Requires: rpm-build-ppc_85xx
+#Requires: redhat-rpm-config
+Requires: sed-ppc_85xx
+Requires: tar-ppc_85xx
+#Requires: unzip
+#Requires: which
+
+# ELDK-specific requires
+Requires: crosstool-targetcomponents-ppc_85xx
+Requires: kernel-headers
+
+# broken dependencies in ELDK due to Fedora-repackaging without
+# removing dependent content
+
+# in 4.1, it looks like dependent packages may be requiring -ppc_85xx
+# or -ppc_4xx versions of the noarch packages
+
+Provides: perl-ppc_4xx
+Provides: autoconf-ppc_85xx == 2.50
+Provides: automake-ppc_85xx == 1.4
+Provides: beecrypt-devel-ppc_85xx
+Provides: dev-ppc_85xx
+Provides: elfutils-devel-ppc_85xx
+Provides: /etc/redhat-release
+Provides: ethtool-ppc_85xx == 1.8-2
+Provides: fileutils-ppc_85xx
+Provides: glibc-devel-ppc_85xx == 2.2.90-12
+Provides: hwdata-ppc_85xx
+Provides: info-ppc_85xx
+Provides: kernel-headers-ppc_85xx
+Provides: kernel-ppc_85xx == 2.6
+Provides: libgcc-ppc_85xx == 4.0.0-4
+Provides: libstdc++-devel-ppc_85xx == 4.0.0
+Provides: libstdc++-ppc_85xx == 4.0.0
+Provides: libtool-libs-ppc_85xx == 1.5.16.multilib2-2_2
+Provides: mount-ppc_85xx == 2.11l
+Provides: nroff-i18n-ppc_85xx
+Provides: /opt/eldk/build/ppc-2006-01-11/work/ppc_85xx/etc/pam.d/system-auth
+Provides: perl(Carp)
+Provides: perl(constant)
+Provides: perl(Cwd)
+Provides: perl(Data::Dumper)
+Provides: perl(DynaLoader)
+Provides: perl(Errno)
+Provides: perl(Exporter)
+Provides: perl(File::Basename)
+Provides: perl(File::Compare)
+Provides: perl(File::Copy)
+Provides: perl(File::Find)
+Provides: perl(File::Spec)
+Provides: perl(File::stat)
+Provides: perl(Getopt::Long)
+Provides: perl(getopts.pl)
+Provides: perl(Getopt::Std)
+Provides: perl(integer)
+Provides: perl(IO::File)
+Provides: perl(Net::SMTP)
+Provides: perl(POSIX)
+Provides: perl-ppc_85xx == 5.006001
+Provides: perl-ppc_85xx == 5.6.1
+Provides: perl(Socket)
+Provides: perl(strict)
+Provides: perl(Term::ReadLine)
+Provides: perl(Text::ParseWords)
+Provides: perl(vars)
+Provides: /sbin/chkconfig
+Provides: /sbin/install-info
+Provides: /sbin/nash
+Provides: /sbin/runuser
+Provides: sh-utils-ppc_85xx
+Provides: textutils-ppc_85xx
+Provides: /usr/bin/perl
+Provides: /usr/bin/python
+Provides: /usr/sbin/groupadd
+Provides: /usr/sbin/useradd
+
+%description
+The base set of packages for a mock chroot
+
+%prep
+
+%build
+
+%install
+
+mkdir -p $RPM_BUILD_ROOT/usr/include
+for ii in asm mtd linux; do
+  ln -s ../src/linux/include/$ii $RPM_BUILD_ROOT/usr/include
+done
+
+%clean
+
+%files
+%defattr(-,root,root,-)
+%doc
+/usr/include/*
diff --git a/contrib/eldk/mk-eldk-4.0-ppc-repo.sh b/contrib/eldk/mk-eldk-4.0-ppc-repo.sh
new file mode 100644
index 0000000..78ed4f4
--- /dev/null
+++ b/contrib/eldk/mk-eldk-4.0-ppc-repo.sh
@@ -0,0 +1,18 @@
+set -ex
+
+ISOTOP=/net/192.168.1.17/../../misc/ppc-denx
+YUMTOP=$HOME/repo/eldk-4.0-ppc
+
+rm -rf $YUMTOP
+
+function mkrepo() {
+    mkdir -p $2
+    cp -as $1/*.rpm $2
+    createrepo $2
+}
+
+mkrepo $ISOTOP/RPMS $YUMTOP/host
+
+for target_arch in ppc_6xx ppc_74xx ppc_85xx ppc_8xx; do
+    mkrepo $ISOTOP/$target_arch/RPMS $YUMTOP/$target_arch
+done
diff --git a/contrib/eldk/mk-eldk-4.1-ppc-repo.sh b/contrib/eldk/mk-eldk-4.1-ppc-repo.sh
new file mode 100644
index 0000000..693250e
--- /dev/null
+++ b/contrib/eldk/mk-eldk-4.1-ppc-repo.sh
@@ -0,0 +1,19 @@
+set -ex
+
+ISOTOP=/net/192.168.1.17/../../misc/eldk-4.1-ppc
+YUMTOP=$HOME/repo/eldk-4.1-ppc
+
+rm -rf $YUMTOP
+
+function mkrepo() {
+    mkdir -p $2
+    cp -as $1/*.rpm $2
+    createrepo $2
+}
+
+mkrepo $ISOTOP/RPMS $YUMTOP/host
+mkrepo $ISOTOP/common/RPMS/noarch $YUMTOP/noarch
+
+for target_arch in ppc_6xx ppc_74xx ppc_85xx ppc_8xx; do
+    mkrepo $ISOTOP/$target_arch/RPMS $YUMTOP/$target_arch
+done
diff --git a/etc/eldk-4.0.cfg b/etc/eldk-4.0.cfg
new file mode 100644
index 0000000..eedbc7b
--- /dev/null
+++ b/etc/eldk-4.0.cfg
@@ -0,0 +1,62 @@
+#!/usr/bin/python -tt
+
+if config_opts['target_arch'][0:3] == 'ppc':
+    config_opts['base_arch'] = 'ppc'
+elif config_opts['target_arch'][0:3] == 'arm':
+    config_opts['base_arch'] = 'arm'
+elif config_opts['target_arch'][0:4] == 'mips':
+    config_opts['base_arch'] = 'mips'
+
+config_opts['macros'] = """
+%%_topdir %s/build
+%%_tmppath /tmp
+%%_rpmfilename   %%%%{NAME}-%%%%{VERSION}-%%%%{RELEASE}.%%%%{ARCH}.rpm
+""" % config_opts['chroothome']
+config_opts['tk_env'] = 'PATH=/cross/usr/bin:/cross/bin:$PATH CROSS_COMPILE=%s-' % config_opts['target_arch']
+config_opts['tk_target_option'] = ''
+config_opts['tk_rpmmacros'] = '.eldk_rpmmacros'
+config_opts['tk_cross_chroot_setup_cmd'] = 'install buildsys-build-%(toolkit)s-%(base_arch)s-cross' \
+                                           % config_opts
+config_opts['tk_cross_yum.conf'] = """
+[main]
+cachdir=/var/cache/yum
+debuglevel=1
+logfile=/var/log/yum.log
+reposdir=/dev/null
+retries=20
+obsoletes=1
+gpgcheck=0
+assumeyes=1
+
+[core]
+name=core
+baseurl=file:///home/ken/repo/%(toolkit)s-%(base_arch)s/host
+
+[local]
+name=local
+baseurl=file:///home/ken/local-repo/%(root_base)s/%(toolkit)s-%(base_arch)s/host
+""" % config_opts
+
+if not os.environ.has_key('BUILDSYS_BOOT'):
+    config_opts['tk_target_chroot_setup_cmd'] = 'install buildsys-build-%s' % config_opts['toolkit']
+    config_opts['tk_target_yum.conf'] = """
+[main]
+cachdir=/var/cache/yum
+debuglevel=1
+logfile=/var/log/yum.log
+reposdir=/dev/null
+retries=20
+obsoletes=1
+gpgcheck=0
+arch=%(base_arch)s
+assumeyes=1
+
+[core]
+name=core
+exclude=libgcc-* popt-*-1.10.1-22_1
+baseurl=file:///home/ken/repo/%(toolkit)s-%(base_arch)s/%(target_arch)s
+
+[local]
+name=local
+baseurl=file:///home/ken/local-repo/%(root_base)s/%(toolkit)s-%(base_arch)s/%(target_arch)s
+""" % config_opts
diff --git a/etc/eldk-4.1.cfg b/etc/eldk-4.1.cfg
new file mode 100644
index 0000000..040773f
--- /dev/null
+++ b/etc/eldk-4.1.cfg
@@ -0,0 +1,72 @@
+#!/usr/bin/python -tt
+
+if config_opts['target_arch'][0:3] == 'ppc':
+    config_opts['base_arch'] = 'ppc'
+elif config_opts['target_arch'][0:3] == 'arm':
+    config_opts['base_arch'] = 'arm'
+elif config_opts['target_arch'][0:4] == 'mips':
+    config_opts['base_arch'] = 'mips'
+
+config_opts['macros'] = """
+%%_topdir %s/build
+%%_tmppath /tmp
+%%_rpmfilename   %%%%{NAME}-%%%%{VERSION}-%%%%{RELEASE}.%%%%{ARCH}.rpm
+""" % config_opts['chroothome']
+config_opts['tk_env'] \
+  = 'PATH=/cross/usr/bin:/cross/bin:$PATH CROSS_COMPILE=%s-' \
+     % config_opts['target_arch']
+config_opts['tk_target_option'] = ''
+config_opts['tk_rpmmacros'] = '.eldk_rpmmacros'
+config_opts['tk_fixup_cmd'] \
+  = 'install buildsys-build-%(toolkit)s-%(base_arch)s-fixup' % config_opts
+
+config_opts['tk_cross_chroot_setup_cmd'] \
+  = 'install buildsys-build-%(toolkit)s-%(base_arch)s-cross' % config_opts
+config_opts['tk_cross_yum.conf'] = """
+[main]
+cachdir=/var/cache/yum
+debuglevel=1
+logfile=/var/log/yum.log
+reposdir=/dev/null
+retries=20
+obsoletes=1
+gpgcheck=0
+assumeyes=1
+
+[core]
+name=core
+baseurl=file:///home/ken/repo/%(toolkit)s-%(base_arch)s/host
+
+[local]
+name=local
+baseurl=file:///home/ken/local-repo/%(root_base)s/%(toolkit)s-%(base_arch)s/host
+""" % config_opts
+
+if not os.environ.has_key('BUILDSYS_BOOT'):
+    config_opts['tk_target_chroot_setup_cmd'] \
+      = 'install buildsys-build-%(toolkit)s-%(base_arch)s kernel-source' % config_opts
+    config_opts['tk_target_yum.conf'] = """
+[main]
+cachdir=/var/cache/yum
+debuglevel=1
+logfile=/var/log/yum.log
+reposdir=/dev/null
+retries=20
+obsoletes=1
+gpgcheck=0
+arch=%(base_arch)s
+assumeyes=1
+
+[core]
+name=core
+#exclude=libgcc-* popt-*-1.10.1-22_1
+baseurl=file:///home/ken/repo/%(toolkit)s-%(base_arch)s/%(target_arch)s
+
+[core-noarch]
+name=core noarch
+baseurl=file:///home/ken/repo/%(toolkit)s-%(base_arch)s/noarch
+
+[local]
+name=local
+baseurl=file:///home/ken/local-repo/%(root_base)s/%(toolkit)s-%(base_arch)s/%(target_arch)s
+""" % config_opts




More information about the Fedora-buildsys-list mailing list