From 5773c6cd24097c00f9bf23b1b38182fb7390eee5 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 25 Dec 2008 00:36:05 +0000 Subject: [PATCH 1/7] Initialize branch EL-5 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..42f697a --- /dev/null +++ b/branch @@ -0,0 +1 @@ +EL-5 From 751c9b12688853f452fd18e98273d3eeefc8a6ce 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 bb617489458d95a3765eba9528271c0036d8eefe Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Tue, 30 Dec 2008 20:48:15 +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 6ed2225b6abd4fa33ae5c3693d4f32e8ef2adefe Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Sat, 24 Jan 2009 13:30:13 +0000 Subject: [PATCH 4/7] Update branches --- kBuild-0.1.5-revert2027.patch | 36 ----------------------------------- 1 file changed, 36 deletions(-) delete mode 100644 kBuild-0.1.5-revert2027.patch 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; - } - From 83beda73a005eb1d1fccb4a647f254a641ecf2b5 Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Sat, 24 Jan 2009 13:32:36 +0000 Subject: [PATCH 5/7] Update branch --- .cvsignore | 2 +- kBuild.spec | 51 +++++++++++++++++++++++++++------------------------ sources | 2 +- 3 files changed, 29 insertions(+), 26 deletions(-) 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.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 df74a091877c86cdae93c836bfc0d353c2ab02b3 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Thu, 26 Nov 2009 01:20:24 +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 faad301e87a2d9af7d99666038dd0a5e50481132 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 28 Jul 2010 18:57:34 +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 42f697a..0000000 --- a/branch +++ /dev/null @@ -1 +0,0 @@ -EL-5