From 04a055afcc4cb2512c2399949311903a0f547deb Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Sat, 30 Mar 2013 12:24:03 -0400 Subject: Update to SPF 2.0, etc. * Refactor build makefile. * Use multiarch library directories. * Install locales. * Move changelogs into libc.6. * Don't install manual. --- 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 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" 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 -- cgit v0.9.1