From bba5c803b10098253f5b5227ff83eebae04ee79e Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 25 Dec 2008 00:36:04 +0000 Subject: [PATCH 1/7] Initialize branch F-9 for kBuild --- branch | 1 + 1 file changed, 1 insertion(+) create mode 100644 branch diff --git a/branch b/branch new file mode 100644 index 0000000..1c26f78 --- /dev/null +++ b/branch @@ -0,0 +1 @@ +F-9 From 6558bc8a891fdaff0a790ba681ba5ec7d0fc8332 Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Thu, 25 Dec 2008 14:53:59 +0000 Subject: [PATCH 2/7] Merge to branches --- .cvsignore | 1 + kBuild-0.1.3-escape.patch | 17 ++++++++ kBuild.spec | 88 +++++++++++++++++++++++++++++++++++++++ sources | 1 + 4 files changed, 107 insertions(+) create mode 100644 kBuild-0.1.3-escape.patch create mode 100644 kBuild.spec diff --git a/.cvsignore b/.cvsignore index e69de29..3312dd8 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +kBuild-0.1.4-src.tar.gz diff --git a/kBuild-0.1.3-escape.patch b/kBuild-0.1.3-escape.patch new file mode 100644 index 0000000..5a708aa --- /dev/null +++ b/kBuild-0.1.3-escape.patch @@ -0,0 +1,17 @@ +This is so that we can pass the command argument with spaces. +Note that this is not really portable, $@ is a bashism, and +traditional shell does not have a suitable replacement. + +Lubomir Rintel + +--- kBuild-0.1.3/kBuild/env.sh.escape 2008-08-17 21:13:20.000000000 +0200 ++++ kBuild-0.1.3/kBuild/env.sh 2008-08-17 21:13:23.000000000 +0200 +@@ -568,7 +568,7 @@ + MY_RC=$? + else + test -z "${QUIET_OPT}" && echo "$0: info: Executing command: $*" 1>&${ERR_REDIR} +- $* ++ "$@" + MY_RC=$? + test -z "${QUIET_OPT}" -a "$MY_RC" -ne 0 && echo "$0: info: rc=$MY_RC: $*" 1>&${ERR_REDIR} + fi diff --git a/kBuild.spec b/kBuild.spec new file mode 100644 index 0000000..e2df164 --- /dev/null +++ b/kBuild.spec @@ -0,0 +1,88 @@ +Name: kBuild +Version: 0.1.4 +Release: 1%{?dist} +Summary: A cross-platform build enviroment + +Group: Development/Tools +License: BSD and GPLv2+ +# most tools are from NetBSD, some are from FreeBSD, +# and make and sed are from GNU +URL: http://svn.netlabs.org/kbuild +Source0: ftp://ftp.netlabs.org/pub/kbuild/%{name}-%{version}-src.tar.gz +Patch0: kBuild-0.1.3-escape.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: byacc libacl-devel flex +BuildRequires: autoconf automake gettext-devel + + +%description +This is a GNU make fork that with a set of scripts to simplify +complex tasks and portable versions of various UNIX tools to +ensure cross-platform portability. + + +%prep +%setup -q +%patch0 -p1 -b .escape + +# Remove prebuilt stuff +rm -rf kBuild/bin/* + + +%build +# Unset hardcoded optimizations +%define mflags CFLAGS="%{optflags}" %{_smp_mflags} + +# This is so that we see what's being done, +# i.e. if the compiler flags are in effect +export KBUILD_VERBOSE=2 + +# The bootstrap would probably not be needed if we depended on ourselves, +# yet it is not guarranteed that new versions are compilable with older +# kmk versions, so with this we are on a safer side +kBuild/env.sh --full make -f bootstrap.gmk %{mflags} + +kBuild/env.sh kmk NIX_INSTALL_DIR=%{_prefix} BUILD_TYPE=release %{mflags} rebuild + + +%install +rm -rf $RPM_BUILD_ROOT +kBuild/env.sh kmk NIX_INSTALL_DIR=%{_prefix} BUILD_TYPE=release PATH_INS=$RPM_BUILD_ROOT %{mflags} install +cp -a kBuild/units $RPM_BUILD_ROOT/%{_datadir}/kBuild + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%files +%defattr(0644,root,root,0755) +%doc COPYING ChangeLog +%attr(0755,root,root) %{_bindir}/* +%{_datadir}/* + + +%changelog +* Fri Sep 19 2008 Lubomir Rintel - 0.1.4-1 +- New upstream release + +* Thu Aug 28 2008 Lubomir Rintel - 0.1.3-2 +- Add gettext-devel to BRs for autopoint + +* Sun Aug 17 2008 Lubomir Rintel - 0.1.3-1 +- New upstream version +- Install into FHS hierarchy +- Honour optflags +- No need to be arch specific + +* Tue Oct 30 2007 Till Maas - 0.1.0-0.3.20070627svn +- add support for x86_64 +- add BR: autoconf, automake + +* Wed Jun 27 2007 Till Maas - 0.1.0-0.2.20070627svn +- Update to a new version +- just copy the bin files to %%{_libexecdir}, kmk install does not work + +* Sun Feb 18 2007 Till Maas - 0.1.0-0.1.20070218svn +- Initial spec for fedora extras diff --git a/sources b/sources index e69de29..5d00453 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +4d35dbe6177c934838a893712759a89b kBuild-0.1.4-src.tar.gz From c2358c645fa5b7a7c3f132a0929501f2be38727c Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Tue, 30 Dec 2008 20:48:16 +0000 Subject: [PATCH 3/7] Merge to branches --- .cvsignore | 2 +- kBuild-0.1.5-revert2027.patch | 36 +++++++++++++++++++++++++++++++++++ kBuild.spec | 20 +++++++++++++++---- sources | 2 +- 4 files changed, 54 insertions(+), 6 deletions(-) create mode 100644 kBuild-0.1.5-revert2027.patch diff --git a/.cvsignore b/.cvsignore index 3312dd8..fba4a99 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -kBuild-0.1.4-src.tar.gz +kBuild.tar.gz diff --git a/kBuild-0.1.5-revert2027.patch b/kBuild-0.1.5-revert2027.patch new file mode 100644 index 0000000..491f10f --- /dev/null +++ b/kBuild-0.1.5-revert2027.patch @@ -0,0 +1,36 @@ +This reverts commit 2027 which breaks the build. + +Index: src/kmk/commands.c +=================================================================== +--- src/kmk/commands.c (revision 2027) ++++ src/kmk/commands.c (revision 2026) +@@ -656,9 +656,6 @@ + + if (file->precious || file->phony) + return; +-#ifdef CONFIG_WITH_EXPLICIT_MULTITARGET +- assert (!file->multi_maybe); +-#endif + + #ifndef NO_ARCHIVES + if (ar_name (file->name)) +@@ -713,19 +710,6 @@ + for (d = child->file->also_make; d != 0; d = d->next) + delete_target (d->file, child->file->name); + +-#ifdef CONFIG_WITH_EXPLICIT_MULTITARGET +- /* Also remove any multi target siblings, except for the 'maybe' ones (we +- handle that here) and precious ones (delete_target deals with that). +- Note that CHILD is always the multi target head (see remake.c). */ +- if (child->file == child->file->multi_head) +- { +- struct file *f2; +- for (f2 = child->file->multi_next; f2; f2 = f2->multi_next) +- if (!f2->multi_maybe) +- delete_target (f2, child->file->name); +- } +-#endif +- + child->deleted = 1; + } + diff --git a/kBuild.spec b/kBuild.spec index e2df164..8caeeb7 100644 --- a/kBuild.spec +++ b/kBuild.spec @@ -1,6 +1,6 @@ Name: kBuild -Version: 0.1.4 -Release: 1%{?dist} +Version: 0.1.5 +Release: 0.1.20081106svn%{?dist} Summary: A cross-platform build enviroment Group: Development/Tools @@ -8,8 +8,16 @@ License: BSD and GPLv2+ # most tools are from NetBSD, some are from FreeBSD, # and make and sed are from GNU URL: http://svn.netlabs.org/kbuild -Source0: ftp://ftp.netlabs.org/pub/kbuild/%{name}-%{version}-src.tar.gz +#Source0: ftp://ftp.netlabs.org/pub/kbuild/%{name}-%{version}-src.tar.gz +# Revision 2058 is of the most recent file of VirtualBox OSE-bundled kBuild +# where the version was determinable. More recent trunk as of end of 2008 won't +# build, and latest stable can't build VirtualBox OSE +# svn export -r2058 http://svn.netlabs.org/repos/kbuild@2058 kBuild +# tar czf kBuild.tar.gz kBuild +Source0: %{name}.tar.gz Patch0: kBuild-0.1.3-escape.patch +# Revert it, or add include? -- that is the question. +Patch1: kBuild-0.1.5-revert2027.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: byacc libacl-devel flex @@ -23,8 +31,9 @@ ensure cross-platform portability. %prep -%setup -q +%setup -q -n %{name} %patch0 -p1 -b .escape +%patch1 -p0 -b .revert2027 # Remove prebuilt stuff rm -rf kBuild/bin/* @@ -64,6 +73,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Dec 30 2008 Lubomir Rintel - 0.1.5-0.1.20081106svn +- Update to build VirtualBox OSE 2.1.0 + * Fri Sep 19 2008 Lubomir Rintel - 0.1.4-1 - New upstream release diff --git a/sources b/sources index 5d00453..3517285 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -4d35dbe6177c934838a893712759a89b kBuild-0.1.4-src.tar.gz +54ec45538cc644a3a2843a0e0618eaf1 kBuild.tar.gz From f18a967458b7b689d677c1b95a2e90dc24b8360a Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Sat, 24 Jan 2009 13:30:14 +0000 Subject: [PATCH 4/7] Update branches --- .cvsignore | 2 +- kBuild-0.1.5-revert2027.patch | 36 ------------------------- kBuild.spec | 51 ++++++++++++++++++----------------- sources | 2 +- 4 files changed, 29 insertions(+), 62 deletions(-) delete mode 100644 kBuild-0.1.5-revert2027.patch diff --git a/.cvsignore b/.cvsignore index fba4a99..b4e4eae 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -kBuild.tar.gz +kBuild-0.1.5-src.tar.gz diff --git a/kBuild-0.1.5-revert2027.patch b/kBuild-0.1.5-revert2027.patch deleted file mode 100644 index 491f10f..0000000 --- a/kBuild-0.1.5-revert2027.patch +++ /dev/null @@ -1,36 +0,0 @@ -This reverts commit 2027 which breaks the build. - -Index: src/kmk/commands.c -=================================================================== ---- src/kmk/commands.c (revision 2027) -+++ src/kmk/commands.c (revision 2026) -@@ -656,9 +656,6 @@ - - if (file->precious || file->phony) - return; --#ifdef CONFIG_WITH_EXPLICIT_MULTITARGET -- assert (!file->multi_maybe); --#endif - - #ifndef NO_ARCHIVES - if (ar_name (file->name)) -@@ -713,19 +710,6 @@ - for (d = child->file->also_make; d != 0; d = d->next) - delete_target (d->file, child->file->name); - --#ifdef CONFIG_WITH_EXPLICIT_MULTITARGET -- /* Also remove any multi target siblings, except for the 'maybe' ones (we -- handle that here) and precious ones (delete_target deals with that). -- Note that CHILD is always the multi target head (see remake.c). */ -- if (child->file == child->file->multi_head) -- { -- struct file *f2; -- for (f2 = child->file->multi_next; f2; f2 = f2->multi_next) -- if (!f2->multi_maybe) -- delete_target (f2, child->file->name); -- } --#endif -- - child->deleted = 1; - } - diff --git a/kBuild.spec b/kBuild.spec index 8caeeb7..18d3080 100644 --- a/kBuild.spec +++ b/kBuild.spec @@ -1,6 +1,6 @@ Name: kBuild Version: 0.1.5 -Release: 0.1.20081106svn%{?dist} +Release: 1%{?dist} Summary: A cross-platform build enviroment Group: Development/Tools @@ -8,16 +8,8 @@ License: BSD and GPLv2+ # most tools are from NetBSD, some are from FreeBSD, # and make and sed are from GNU URL: http://svn.netlabs.org/kbuild -#Source0: ftp://ftp.netlabs.org/pub/kbuild/%{name}-%{version}-src.tar.gz -# Revision 2058 is of the most recent file of VirtualBox OSE-bundled kBuild -# where the version was determinable. More recent trunk as of end of 2008 won't -# build, and latest stable can't build VirtualBox OSE -# svn export -r2058 http://svn.netlabs.org/repos/kbuild@2058 kBuild -# tar czf kBuild.tar.gz kBuild -Source0: %{name}.tar.gz +Source0: ftp://ftp.netlabs.org/pub/kbuild/%{name}-%{version}-src.tar.gz Patch0: kBuild-0.1.3-escape.patch -# Revert it, or add include? -- that is the question. -Patch1: kBuild-0.1.5-revert2027.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: byacc libacl-devel flex @@ -29,36 +21,43 @@ This is a GNU make fork that with a set of scripts to simplify complex tasks and portable versions of various UNIX tools to ensure cross-platform portability. +It is used mainly to build VirtualBox OSE packages for RPM Fusion +repository. + %prep -%setup -q -n %{name} +%setup -q %patch0 -p1 -b .escape -%patch1 -p0 -b .revert2027 # Remove prebuilt stuff rm -rf kBuild/bin/* %build -# Unset hardcoded optimizations -%define mflags CFLAGS="%{optflags}" %{_smp_mflags} +%define bootstrap_mflags %{_smp_mflags} \\\ + CFLAGS="%{optflags}" \\\ + KBUILD_VERBOSE=2 -# This is so that we see what's being done, -# i.e. if the compiler flags are in effect -export KBUILD_VERBOSE=2 +%define mflags %{bootstrap_mflags} \\\ + NIX_INSTALL_DIR=%{_prefix} \\\ + BUILD_TYPE=release \\\ + MY_INST_MODE=0644 \\\ + MY_INST_BIN_MODE=0755 # The bootstrap would probably not be needed if we depended on ourselves, # yet it is not guarranteed that new versions are compilable with older # kmk versions, so with this we are on a safer side -kBuild/env.sh --full make -f bootstrap.gmk %{mflags} +kBuild/env.sh --full make -f bootstrap.gmk %{bootstrap_mflags} -kBuild/env.sh kmk NIX_INSTALL_DIR=%{_prefix} BUILD_TYPE=release %{mflags} rebuild +kBuild/env.sh kmk %{mflags} rebuild %install rm -rf $RPM_BUILD_ROOT -kBuild/env.sh kmk NIX_INSTALL_DIR=%{_prefix} BUILD_TYPE=release PATH_INS=$RPM_BUILD_ROOT %{mflags} install -cp -a kBuild/units $RPM_BUILD_ROOT/%{_datadir}/kBuild +export KBUILD_VERBOSE=2 +kBuild/env.sh kmk %{mflags} PATH_INS=$RPM_BUILD_ROOT install +# These are included later in files section +rm -r $RPM_BUILD_ROOT%{_docdir} %clean @@ -66,13 +65,17 @@ rm -rf $RPM_BUILD_ROOT %files -%defattr(0644,root,root,0755) -%doc COPYING ChangeLog -%attr(0755,root,root) %{_bindir}/* +%defattr(-,root,root,-) +%{_bindir}/* %{_datadir}/* +%doc COPYING ChangeLog +%doc kBuild/doc/COPYING-FDL-1.3 kBuild/doc/QuickReference* %changelog +* Sat Jan 24 2009 Lubomir Rintel - 0.1.5-1 +- Update to new upstream release + * Tue Dec 30 2008 Lubomir Rintel - 0.1.5-0.1.20081106svn - Update to build VirtualBox OSE 2.1.0 diff --git a/sources b/sources index 3517285..da54911 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -54ec45538cc644a3a2843a0e0618eaf1 kBuild.tar.gz +df7e0905232e67728643f97d63cbf3f3 kBuild-0.1.5-src.tar.gz From 7f8812b24f3c621324e1ccccdebf40019b33400d Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sun, 15 Feb 2009 05:53:53 +0000 Subject: [PATCH 5/7] sparcv9 is 32 bit on linux --- kBuild-0.1.5-sparcv9.patch | 15 +++++++++++++++ kBuild.spec | 7 ++++++- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 kBuild-0.1.5-sparcv9.patch diff --git a/kBuild-0.1.5-sparcv9.patch b/kBuild-0.1.5-sparcv9.patch new file mode 100644 index 0000000..d925a58 --- /dev/null +++ b/kBuild-0.1.5-sparcv9.patch @@ -0,0 +1,15 @@ +--- kBuild-0.1.5/kBuild/env.sh.orig 2009-02-14 23:13:56.000000000 -0600 ++++ kBuild-0.1.5/kBuild/env.sh 2009-02-14 23:14:37.000000000 -0600 +@@ -325,10 +325,10 @@ + x86|i86pc|ia32|i[3456789]86) + KBUILD_HOST_ARCH='x86' + ;; +- sparc32|sparc|sparcv8|sparcv7|sparcv8e) ++ sparc32|sparc|sparcv8|sparcv7|sparcv8e|sparcv9) + KBUILD_HOST_ARCH='sparc32' + ;; +- sparc64|sparcv9) ++ sparc64) + KBUILD_HOST_ARCH='sparc64' + ;; + s390) diff --git a/kBuild.spec b/kBuild.spec index 18d3080..8f025bf 100644 --- a/kBuild.spec +++ b/kBuild.spec @@ -1,6 +1,6 @@ Name: kBuild Version: 0.1.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A cross-platform build enviroment Group: Development/Tools @@ -10,6 +10,7 @@ License: BSD and GPLv2+ URL: http://svn.netlabs.org/kbuild Source0: ftp://ftp.netlabs.org/pub/kbuild/%{name}-%{version}-src.tar.gz Patch0: kBuild-0.1.3-escape.patch +Patch1: kBuild-0.1.5-sparcv9.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: byacc libacl-devel flex @@ -28,6 +29,7 @@ repository. %prep %setup -q %patch0 -p1 -b .escape +%patch1 -p1 -b .sparcv9 # Remove prebuilt stuff rm -rf kBuild/bin/* @@ -73,6 +75,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Sat Feb 14 2009 Dennis Gilmore - 0.1.5-2 +- sparcv9 is 32 bit, at least as far as linux is concerned + * Sat Jan 24 2009 Lubomir Rintel - 0.1.5-1 - Update to new upstream release From 78a7d1c30847b33a4e8287751bbaea5eb6e4bbd1 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Thu, 26 Nov 2009 01:20:25 +0000 Subject: [PATCH 6/7] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 8c8870e..e463081 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ # Makefile for source rpm: kBuild -# $Id$ +# $Id: Makefile,v 1.1 2008/12/25 00:36:01 kevin Exp $ NAME := kBuild SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From d114e57c60a0e423602fa6c679010b0b1bc62e45 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 28 Jul 2010 18:57:35 +0000 Subject: [PATCH 7/7] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- branch | 1 - 3 files changed, 22 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile delete mode 100644 branch diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index e463081..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: kBuild -# $Id: Makefile,v 1.1 2008/12/25 00:36:01 kevin Exp $ -NAME := kBuild -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/branch b/branch deleted file mode 100644 index 1c26f78..0000000 --- a/branch +++ /dev/null @@ -1 +0,0 @@ -F-9