summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorP. J. McDermott <pjm@nac.net>2013-03-30 12:24:03 (EDT)
committer P. J. McDermott <pjm@nac.net>2013-03-30 12:24:03 (EDT)
commit04a055afcc4cb2512c2399949311903a0f547deb (patch)
tree81ea61c5034f9af7ddcd905248d470d38c50aab8
parent28f8024211f0e2f3180cc1541cc978388115e445 (diff)
Update to SPF 2.0, etc.
* Refactor build makefile. * Use multiarch library directories. * Install locales. * Move changelogs into libc.6. * Don't install manual.
-rwxr-xr-xbuild204
-rw-r--r--changelog6
-rw-r--r--control3
-rw-r--r--eglibc-2.15.orig.tar.gz (renamed from eglibc-2.15.tar.gz)bin23515610 -> 23515610 bytes
-rw-r--r--eglibc-doc.pkg/control4
-rw-r--r--eglibc-doc.pkg/install2
-rw-r--r--format2
-rw-r--r--libc-bin.pkg/control2
-rw-r--r--libc-bin.pkg/files (renamed from libc-bin.pkg/install)5
-rw-r--r--libc-dev-bin.pkg/control2
-rw-r--r--libc-dev-bin.pkg/files (renamed from libc-dev-bin.pkg/install)0
-rw-r--r--libc.6-dev.pkg/control2
-rw-r--r--libc.6-dev.pkg/files4
-rw-r--r--libc.6-dev.pkg/install4
-rw-r--r--libc.6.pkg/control2
-rw-r--r--libc.6.pkg/docs5
-rw-r--r--libc.6.pkg/files (renamed from libc.6.pkg/install)4
-rw-r--r--locales.pkg/control4
-rw-r--r--locales.pkg/files (renamed from locales.pkg/install)1
-rw-r--r--nscd.pkg/control2
-rw-r--r--nscd.pkg/files (renamed from nscd.pkg/install)0
-rw-r--r--zoneinfo.pkg/control2
-rw-r--r--zoneinfo.pkg/files (renamed from zoneinfo.pkg/install)0
23 files changed, 131 insertions, 129 deletions
diff --git a/build b/build
index 05dc928..e49f753 100755
--- a/build
+++ b/build
@@ -1,123 +1,121 @@
#! /usr/bin/make -f
-PKGS = libc.6 libc.6-dev \
- libc-bin libc-dev-bin nscd \
- locales zoneinfo \
- eglibc-doc \
-
prefix = /usr
-bindir = $(prefix)/bin
-sbindir = $(prefix)/sbin
-libexecdir = $(prefix)/lib
-sysconfdir = /etc
-libdir = /usr/lib
-includedir = $(prefix)/include
datarootdir = $(prefix)/share
datadir = $(prefix)/share
-infodir = $(prefix)/share/info
localedir = $(prefix)/lib/locale
-mandir = $(prefix)/share/man
docdir = $(prefix)/share/doc
-$(PKGS): eglibc.stamp
+SUPPORTED_LOCALES = \
+ de_DE.UTF-8/UTF-8 de_DE/ISO-8859-1 de_DE@euro/ISO-8859-15 \
+ en_HK.UTF-8/UTF-8 en_HK/ISO-8859-1 \
+ en_PH.UTF-8/UTF-8 en_PH/ISO-8859-1 \
+ en_US.UTF-8/UTF-8 en_US/ISO-8859-1 \
+ es_MX.UTF-8/UTF-8 es_MX/ISO-8859-1 \
+ fa_IR/UTF-8 \
+ fr_FR.UTF-8/UTF-8 fr_FR/ISO-8859-1 fr_FR@euro/ISO-8859-15 \
+ it_IT.UTF-8/UTF-8 it_IT/ISO-8859-1 \
+ ja_JP.EUC-JP/EUC-JP ja_JP.UTF-8/UTF-8
+
+nop:
+ @:
+
+configure-libc:
+ # TODO: Remove manual from upstream source.
+ #rm -Rf src/libc/manual
+ [ ! -d libcbuild ] && mkdir libcbuild || true
+ rm -f libcbuild/config.cache
+ echo 'libc_cv_forced_unwind=yes' >>libcbuild/config.cache
+ echo 'libc_cv_c_cleanup=yes' >>libcbuild/config.cache
+ echo 'libc_cv_gnu89_inline=yes' >>libcbuild/config.cache
+ echo 'libc_cv_ssp=no' >>libcbuild/config.cache
+ echo 'libc_cv_slibdir=/lib/'"$${OPK_HOST_ARCH}" \
+ >>libcbuild/config.cache
+ if [ -n "$${TOOLS_PREFIX}" ]; then \
+ BINUTILS="--with-binutils=$${TOOLS_PREFIX}/bin"; \
+ else \
+ BINUTILS=; \
+ fi && \
+ if [ -n "$${HEADERS_PREFIX}" ]; then \
+ HEADERS="--with-headers=$${HEADERS_PREFIX}/usr/include"; \
+ else \
+ HEADERS=; \
+ fi && \
+ BUILD_CC=gcc BUILD_CXX=g++ oh-autoconfigure \
+ -s "$${PWD}/src/libc" -B libcbuild -- \
+ --datarootdir=$(datarootdir) --datadir=$(datadir) \
+ --localedir=$(localedir) --docdir=$(docdir) \
+ --disable-profile \
+ --enable-add-ons=../ports,nptl,libidn \
+ --enable-kernel=3.2.0 \
+ --with-tls --with-__thread --without-cvs \
+ --without-selinux --without-gd \
+ $${BINUTILS} \
+ $${HEADERS} \
+ --cache-file=config.cache
+ touch $@
+
+configure-locales:
+ [ ! -d localesbuild ] && mkdir localesbuild || true
+ CPPFLAGS=-DNOT_IN_libc oh-autoconfigure \
+ -s "$${PWD}/src/localedef" -B localesbuild -- \
+ --libdir='$${prefix}/lib' \
+ --with-glibc=../src/libc
+ touch $@
+
+configure: configure-libc configure-locales
+ touch $@
-.SILENT: eglibc.setup.stamp
-eglibc.setup.stamp:
- cd src/libc && \
- ln -s ../ports ports
- mkdir libcbuild
- touch eglibc.setup.stamp
+build-libc: configure
+ oh-autobuild -s "$${PWD}/src/libc" -B libcbuild -- -j $${JOBS:-1}
+ touch $@
-.SILENT: eglibc.configure.stamp
-eglibc.configure.stamp: eglibc.setup.stamp
- cd libcbuild && \
- rm -f config.cache && \
- echo 'libc_cv_forced_unwind=yes' >> config.cache && \
- echo 'libc_cv_c_cleanup=yes' >> config.cache && \
- echo 'libc_cv_gnu89_inline=yes' >> config.cache && \
- echo 'libc_cv_ssp=no' >> config.cache && \
- if [ -n "$${TOOLS_PREFIX}" ]; then \
- BINUTILS=--with-binutils=$${TOOLS_PREFIX}/bin; \
- else \
- BINUTILS=; \
- fi && \
- BUILD_CC=gcc BUILD_CXX=g++ ../src/libc/configure \
- --prefix=$(prefix) \
- --bindir=$(bindir) --sbindir=$(sbindir) \
- --libexecdir=$(libexecdir) --sysconfdir=$(sysconfdir) \
- --libdir=$(libdir) --includedir=$(includedir) \
- --datarootdir=$(datarootdir) --datadir=$(datadir) \
- --infodir=$(infodir) --localedir=$(localedir) \
- --mandir=$(mandir) --docdir=$(docdir) \
- --build=$${OH_BUILD_ARCH_GNU} --host=$${OH_HOST_ARCH_GNU} \
- --disable-profile --enable-add-ons \
- --enable-kernel=3.2.0 \
- --with-tls --with-__thread --without-cvs \
- --without-selinux --without-gd \
- $${BINUTILS} \
- --with-headers=$${HEADERS_PREFIX}/usr/include \
- --cache-file=config.cache
- touch eglibc.configure.stamp
+build-locales: configure
+ oh-autobuild -s "$${PWD}/src/localedef" -B localesbuild -- \
+ -j $${JOBS:-1}
+ touch $@
-.SILENT: eglibc.build.stamp
-eglibc.build.stamp: eglibc.configure.stamp
- cd libcbuild && \
- make -j $${JOBS:-1}
- touch eglibc.build.stamp
+build: build-libc build-locales
+ touch $@
-.SILENT: eglibc.install.stamp
-eglibc.install.stamp: eglibc.build.stamp
- cd libcbuild && \
- make install_root=$$(pwd)/../dest install
- rm dest/var/db/Makefile \
+install-libc: build
+ # Install /etc/ld.so.conf early to silence a warning from ldconfig.
+ cp ../ld.so.conf dest/etc
+ oh-autoinstall -s "$${PWD}/src/libc" -B libcbuild
+ rm -f dest/var/db/Makefile \
dest/sbin/sln \
dest/usr/bin/makedb \
dest/usr/bin/pcprofiledump \
dest/usr/bin/xtrace
- rm -Rf dest/usr/lib/*_pic*
- mkdir -p dest/usr/share/doc/eglibc-doc && \
- cp -Rp src/libc/ChangeLog* \
- dest/usr/share/doc/eglibc-doc
- mkdir -p dest/usr/share/doc/eglibc-doc/libidn && \
- cp -Rp src/libc/libidn/ChangeLog* \
- dest/usr/share/doc/eglibc-doc/libidn
- mkdir -p dest/usr/share/doc/eglibc-doc/localedata && \
- cp -Rp src/libc/localedata/ChangeLog* \
- dest/usr/share/doc/eglibc-doc/localedata
- mkdir -p dest/usr/share/doc/eglibc-doc/nptl && \
- cp -Rp src/libc/nptl/ChangeLog* \
- dest/usr/share/doc/eglibc-doc/nptl
- mkdir -p dest/usr/share/doc/eglibc-doc/nptl_db && \
- cp -Rp src/libc/nptl_db/ChangeLog* \
- dest/usr/share/doc/eglibc-doc/nptl_db
- cp ../ld.so.conf dest/etc
+ # TODO: PIC package?
+ rm -Rf dest/usr/lib/*/*_pic.*
+ rm -Rf dest/usr/lib/*/libc_pic/
+ # pt_chown isn't necessary with Linux's devptsfs.
+ [ "x${OPK_HOST_ARCH_KERNEL}" = 'xlinux' ] && \
+ rm -f dest/usr/lib/*/pt_chown
cp ../nsswitch.conf dest/etc
- touch eglibc.install.stamp
+ rm -f dest/etc/ld.so.cache
+ # TODO: Remove manual from upstream source.
+ rm -Rf dest/usr/share/info
+
+install-locales: build
+ oh-autoinstall -s "$${PWD}/src/localedef" -B localesbuild \
+ -T install-locales \
+ SUPPORTED-LOCALES='$(SUPPORTED_LOCALES)'
+
+install: install-libc install-locales
+ oh-fixperms
+ oh-strip #-k
+ oh-installfiles
- #mkdir localesbuild
- #cd localesbuild && \
- # CPPFLAGS=-DNOT_IN_libc ../src/localedef/configure \
- # --prefix=$$(pwd)/../dest/usr \
- # --with-glibc=../src/libc && \
- # make && \
- # make SUPPORTED-LOCALES='\
- # de_DE.UTF-8/UTF-8 de_DE/ISO-8859-1 de_DE@euro/ISO-8859-15 \
- # en_HK.UTF-8/UTF-8 en_HK/ISO-8859-1 \
- # en_PH.UTF-8/UTF-8 en_PH/ISO-8859-1 \
- # en_US.UTF-8/UTF-8 en_US/ISO-8859-1 \
- # es_MX.UTF-8/UTF-8 es_MX/ISO-8859-1 \
- # fa_IR/UTF-8 \
- # fr_FR.UTF-8/UTF-8 fr_FR/ISO-8859-1 fr_FR@euro/ISO-8859-15 \
- # it_IT.UTF-8/UTF-8 it_IT/ISO-8859-1 \
- # ja_JP.EUC-JP/EUC-JP ja_JP.UTF-8/UTF-8' install-locales
+clean-libc:
+ oh-autoclean -s "$${PWD}/src/libc" -B libcbuild
+ rm -f configure-libc build-libc
- # We're skipping the debug package for now...
- #oh-strip -gl /usr/bin /usr/lib/*
+clean-locales:
+ oh-autoclean -s "$${PWD}/src/localedef" -B localesbuild
+ rm -f configure-locales build-locales
-.SILENT: eglibc.stamp
-eglibc.stamp: eglibc.install.stamp
- oh-installfiles $(PKGS)
- oh-installdocs libc.6
- oh-gencontrol $(PKGS)
- oh-buildopk $(PKGS)
- touch eglibc.stamp
+clean: clean-libc clean-locales
+ rm -f configure build
+ rm -Rf *.data
diff --git a/changelog b/changelog
index 9c8a4ce..16c3280 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,9 @@
+eglibc (2.15-2) trunk
+
+ * Update to SPF 2.0.
+
+ -- P. J. McDermott <pjm@nac.net> Wed, 27 Mar 2013 12:01:36 -0400
+
eglibc (2.15-1)
* Initial release.
diff --git a/control b/control
index 377793a..26ea47f 100644
--- a/control
+++ b/control
@@ -1,4 +1,3 @@
-Source: eglibc
-Version: 2.15-1
+Build-Depends: opkhelper-3.0
Maintainer: "P. J. McDermott" <pjm@nac.net>
Homepage: http://www.eglibc.org/home
diff --git a/eglibc-2.15.tar.gz b/eglibc-2.15.orig.tar.gz
index 021a964..021a964 100644
--- a/eglibc-2.15.tar.gz
+++ b/eglibc-2.15.orig.tar.gz
Binary files differ
diff --git a/eglibc-doc.pkg/control b/eglibc-doc.pkg/control
deleted file mode 100644
index 22b1715..0000000
--- a/eglibc-doc.pkg/control
+++ /dev/null
@@ -1,4 +0,0 @@
-Package: eglibc-doc
-Architecture: all
-Description: Embedded GNU C Library - documentation
- This package provides the documentation and change logs for EGLIBC.
diff --git a/eglibc-doc.pkg/install b/eglibc-doc.pkg/install
deleted file mode 100644
index e1c10f5..0000000
--- a/eglibc-doc.pkg/install
+++ /dev/null
@@ -1,2 +0,0 @@
-/usr/share/info
-/usr/share/doc/eglibc-doc
diff --git a/format b/format
index d3827e7..cd5ac03 100644
--- a/format
+++ b/format
@@ -1 +1 @@
-1.0
+2.0
diff --git a/libc-bin.pkg/control b/libc-bin.pkg/control
index 07871bf..78c1919 100644
--- a/libc-bin.pkg/control
+++ b/libc-bin.pkg/control
@@ -1,4 +1,4 @@
-Package: libc-bin
Architecture: any-any-eglibc
+Platform: all
Description: Embedded GNU C Library - binaries
This package provides utilities related to the Embedded GNU C Library.
diff --git a/libc-bin.pkg/install b/libc-bin.pkg/files
index f66064a..24ae9cb 100644
--- a/libc-bin.pkg/install
+++ b/libc-bin.pkg/files
@@ -9,9 +9,8 @@
/usr/bin/tzselect
/usr/bin/pldd
/usr/bin/sotruss
-/usr/lib/audit
-/usr/lib/getconf
-/usr/lib/pt_chown
+/usr/lib/*/audit/sotruss-lib.so
+/usr/lib/*/getconf/
/usr/sbin/iconvconfig
/usr/sbin/zdump
/usr/sbin/zic
diff --git a/libc-dev-bin.pkg/control b/libc-dev-bin.pkg/control
index 570b0c4..0e15109 100644
--- a/libc-dev-bin.pkg/control
+++ b/libc-dev-bin.pkg/control
@@ -1,5 +1,5 @@
-Package: libc-dev-bin
Architecture: any-any-eglibc
+Platform: all
Description: Embedded GNU C Library - development binaries
This package provides utilities related to the Embedded GNU C Library
development package.
diff --git a/libc-dev-bin.pkg/install b/libc-dev-bin.pkg/files
index a3f9783..a3f9783 100644
--- a/libc-dev-bin.pkg/install
+++ b/libc-dev-bin.pkg/files
diff --git a/libc.6-dev.pkg/control b/libc.6-dev.pkg/control
index 9606bc1..027da4c 100644
--- a/libc.6-dev.pkg/control
+++ b/libc.6-dev.pkg/control
@@ -1,5 +1,5 @@
-Package: libc.6-dev
Architecture: any-any-eglibc
+Platform: all
Description: Embedded GNU C Library - development files
This package provides the header files, object files, and development libraries
necessary to compile and link programs with the standard C library.
diff --git a/libc.6-dev.pkg/files b/libc.6-dev.pkg/files
new file mode 100644
index 0000000..5b1dce3
--- /dev/null
+++ b/libc.6-dev.pkg/files
@@ -0,0 +1,4 @@
+/usr/include
+/usr/lib/*/*.o
+/usr/lib/*/*.a
+/usr/lib/*/*.so
diff --git a/libc.6-dev.pkg/install b/libc.6-dev.pkg/install
deleted file mode 100644
index 7eb97b9..0000000
--- a/libc.6-dev.pkg/install
+++ /dev/null
@@ -1,4 +0,0 @@
-/usr/include
-/usr/lib/*.o
-/usr/lib/*.a
-/usr/lib/*.so
diff --git a/libc.6.pkg/control b/libc.6.pkg/control
index 31ebbd6..ec2e0ab 100644
--- a/libc.6.pkg/control
+++ b/libc.6.pkg/control
@@ -1,5 +1,5 @@
-Package: libc.6
Architecture: any-any-eglibc
+Platform: all
Description: Embedded GNU C Library - shared libraries
This package provides the standard C library, the standard math library, and
more.
diff --git a/libc.6.pkg/docs b/libc.6.pkg/docs
new file mode 100644
index 0000000..f5d298b
--- /dev/null
+++ b/libc.6.pkg/docs
@@ -0,0 +1,5 @@
+src/libc/ChangeLog*
+src/libc/nptl/ChangeLog* nptl/
+src/libc/nptl_db/ChangeLog* nptl_db/
+src/libc/libidn/ChangeLog* libidn/
+src/libc/localedata/ChangeLog* localedata/
diff --git a/libc.6.pkg/install b/libc.6.pkg/files
index 42c66a5..0ca6838 100644
--- a/libc.6.pkg/install
+++ b/libc.6.pkg/files
@@ -1,5 +1,5 @@
-/lib/*.so*
-/usr/lib/gconv
+/lib/*/*.so*
+/usr/lib/*/gconv
/etc/ld.so.conf
/etc/localtime
/etc/nsswitch.conf
diff --git a/locales.pkg/control b/locales.pkg/control
index e60961a..794c776 100644
--- a/locales.pkg/control
+++ b/locales.pkg/control
@@ -1,5 +1,5 @@
-Package: locales
-Architecture: all
+Architecture: any-any-eglibc
+Platform: all
Description: Embedded GNU C Library - locale data
This package provides data files used by the standard C library for
internationalization support.
diff --git a/locales.pkg/install b/locales.pkg/files
index ee87218..a010a7d 100644
--- a/locales.pkg/install
+++ b/locales.pkg/files
@@ -1,2 +1,3 @@
+/usr/lib/locale
/usr/share/i18n
/usr/share/locale
diff --git a/nscd.pkg/control b/nscd.pkg/control
index cd0521e..d1c2461 100644
--- a/nscd.pkg/control
+++ b/nscd.pkg/control
@@ -1,5 +1,5 @@
-Package: nscd
Architecture: any-any-eglibc
+Platform: all
Description: Embedded GNU C Library - Name Service Cache Daemon
This package provides NSCD, a daemon that looks up and caches results for
various services and databases.
diff --git a/nscd.pkg/install b/nscd.pkg/files
index 0966ae0..0966ae0 100644
--- a/nscd.pkg/install
+++ b/nscd.pkg/files
diff --git a/zoneinfo.pkg/control b/zoneinfo.pkg/control
index 1d16342..38e406a 100644
--- a/zoneinfo.pkg/control
+++ b/zoneinfo.pkg/control
@@ -1,4 +1,4 @@
-Package: zoneinfo
Architecture: all
+Platform: all
Description: Embedded GNU C Library - timezone information
This package provides timezone and daylight-saving time data.
diff --git a/zoneinfo.pkg/install b/zoneinfo.pkg/files
index 00ca6dc..00ca6dc 100644
--- a/zoneinfo.pkg/install
+++ b/zoneinfo.pkg/files