# Contributor: William Pitcock # Maintainer: William Pitcock global pkgname := 'libc6' global pkgver := '2.14' global pkgrel := '0' global svnrev := '14663' global pkgdesc := '"Embedded GNU C Library'" global url := '"http://eglibc.org/'" global arch := ''"" global license := '"LGPL'" global depends := '' global depends_dev := '"linux-headers>=2.6.18'" global provides := '"libiconv'" global makedepends := $depends_dev global install := ''"" global subpackages := ""$pkgname-dev $pkgname-doc gconv-modules:gconv locales nscd"" global options := '"!strip'" global source := ""http://dev.alpinelinux.org/~nenolod/eglibc-$(pkgver).r$(svnrev).tar.gz glibc-2.12-hardened-pie.patch glibc-2.10-hardened-configure-picdefault.patch glibc-2.10-hardened-inittls-nosysenter.patch chk_fail.c stack_chk_fail.c nscd.initd"" global _srcdir := ""$srcdir"/eglibc-$pkgver" global _builddir := ""$srcdir"/eglibc-build" proc prepare { var i = '' cd $_srcdir for i in [$source] { matchstr $i { *.patch { msg $i; patch -p1 -i "$srcdir"/$i || return 1} } } echo "slibdir=/lib" >> configparms cp "$srcdir"/chk_fail.c "$_srcdir"/debug/chk_fail.c cp "$srcdir"/stack_chk_fail.c "$_srcdir"/debug/stack_chk_fail.c mkdir $_builddir } proc build { cd $_builddir export CFLAGS="$CFLAGS -fno-stack-protector" "$_srcdir"/configure --prefix=/usr \ --sysconfdir=/etc \ --libdir=/usr/lib \ --libexecdir=/usr/lib \ --with-headers=/usr/include \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --localstatedir=/var \ --enable-kernel=2.6.18 \ --enable-add-ons=nptl,libidn \ --disable-profile \ --enable-bind-now \ --with-tls \ --with-__thread \ --without-zoneinfo \ --without-cvs \ --without-gd \ --with-pkgversion="Alpine EGLIBC $(pkgver)-r$(pkgrel) [svn r$(svnrev)]" \ || return 1 make || return 1 } proc package { cd $_builddir make install_root="$pkgdir" install || return 1 } proc gconv { global pkgdesc := '"GNU iconv character modules'" mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/iconv "$subpkgdir"/usr/lib } proc locales { global pkgdesc := '"Common files for locale support'" mkdir -p "$subpkgdir"/usr/share mv "$pkgdir"/usr/share/* "$subpkgdir"/usr/share } proc nscd { global pkgdesc := '"Cache daemon for NIS/DNS'" mkdir -p "$subpkgdir"/var/db/nscd mkdir -p "$subpkgdir"/var/run/nscd install -Dm 755 "$srcdir"/nscd.initd "$subpkgdir"/etc/init.d/nscd install -Dm 644 "$srcdir"/libc/nscd/nscd.conf "$subpkgdir"/etc/nscd.conf mkdir -p "$subpkgdir"/usr/sbin mv "$pkgdir"/usr/sbin/nscd "$subpkgdir"/usr/sbin } global md5sums := '"c6de1455fcef3487ee42c14349a72cf4 eglibc-2.14.r14663.tar.gz 03ffc414f8eb9f1fcb93325008f5ecd7 glibc-2.12-hardened-pie.patch 8bca42eb8f6d117107ab8e356566b805 glibc-2.10-hardened-configure-picdefault.patch d3b50eec50099791bf2f0c10b605ff7c glibc-2.10-hardened-inittls-nosysenter.patch 1b31d2c7a39298da10e3840076514823 chk_fail.c 6a6b9992c76a9bece219eb00a16d7549 stack_chk_fail.c ff0b0069eeb662145d287d7f98c79447 nscd.initd'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(libc6)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(2.14)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:svnrev) op:Equal rhs:{(14663)} spids:[15])] spids: [15] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Embedded GNU C Library"))} spids: [18] ) ] spids: [18] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://eglibc.org/"))} spids: [23] ) ] spids: [23] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ )} spids:[28])] spids: [28] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (LGPL))} spids:[32])] spids: [32] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(SQ )} spids:[37])] spids: [37] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends_dev) op: Equal rhs: {(DQ ("linux-headers>=2.6.18"))} spids: [39] ) ] spids: [39] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:provides) op:Equal rhs:{(DQ (libiconv))} spids:[44])] spids: [44] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: {(DQ ($ VSub_Name "$depends_dev"))} spids: [49] ) ] spids: [49] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(DQ )} spids:[54])] spids: [54] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") ("-dev\n") ("\t ") ($ VSub_Name "$pkgname") ("-doc\n") ("\n") ("\t gconv-modules:gconv\n") ("\t locales\n") ("\t nscd") ) } spids: [58] ) ] spids: [58] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:options) op:Equal rhs:{(DQ ("!strip"))} spids:[71])] spids: [71] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("http://dev.alpinelinux.org/~nenolod/eglibc-") (${ VSub_Name pkgver) (.r) (${ VSub_Name svnrev) (".tar.gz\n") ("\n") ("\tglibc-2.12-hardened-pie.patch\n") ("\tglibc-2.10-hardened-configure-picdefault.patch\n") ("\tglibc-2.10-hardened-inittls-nosysenter.patch\n") ("\n") ("\tchk_fail.c\n") ("\tstack_chk_fail.c\n") ("\n") ("\tnscd.initd") ) } spids: [76] ) ] spids: [76] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_srcdir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir")) (/eglibc-) ($ VSub_Name "$pkgver")} spids: [99] ) ] spids: [99] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir")) (/eglibc-build)} spids: [106] ) ] spids: [106] ) (FuncDef name: prepare body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[121])] spids: [119] ) (C {(cd)} {(DQ ($ VSub_Name "$_srcdir"))}) (ForEach iter_name: i iter_words: [{($ VSub_Name "$source")}] do_arg_iter: False body: (DoGroup children: [ (Case to_match: {($ VSub_Name "$i")} arms: [ (case_arm pat_list: [{(Lit_Other "*") (.patch)}] action: [ (Sentence child: (C {(msg)} {($ VSub_Name "$i")}) terminator: ) (AndOr children: [ (C {(patch)} {(-p1)} {(-i)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$i")} ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) ] spids: [150 152 176 -1] ) ] spids: [143 147 179] ) ] spids: [140 182] ) spids: [136 138] ) (SimpleCommand words: [{(echo)} {(DQ ("slibdir=/lib"))}] redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{(configparms)} spids:[191])] ) (C {(cp)} {(DQ ($ VSub_Name "$srcdir")) (/chk_fail.c)} {(DQ ($ VSub_Name "$_srcdir")) (/debug/chk_fail.c)} ) (C {(cp)} {(DQ ($ VSub_Name "$srcdir")) (/stack_chk_fail.c)} {(DQ ($ VSub_Name "$_srcdir")) (/debug/stack_chk_fail.c)} ) (C {(mkdir)} {(DQ ($ VSub_Name "$_builddir"))}) ] spids: [116] ) spids: [112 115] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (C {(export)} {(Lit_VarLike "CFLAGS=") (DQ ($ VSub_Name "$CFLAGS") (" -fno-stack-protector"))} ) (AndOr children: [ (C {(DQ ($ VSub_Name "$_srcdir")) (/configure)} {(--prefix) (Lit_Other "=") (/usr)} {(--sysconfdir) (Lit_Other "=") (/etc)} {(--libdir) (Lit_Other "=") (/usr/lib)} {(--libexecdir) (Lit_Other "=") (/usr/lib)} {(--with-headers) (Lit_Other "=") (/usr/include)} {(--mandir) (Lit_Other "=") (/usr/share/man)} {(--infodir) (Lit_Other "=") (/usr/share/info)} {(--localstatedir) (Lit_Other "=") (/var)} {(--enable-kernel) (Lit_Other "=") (2.6.18)} {(--enable-add-ons) (Lit_Other "=") (nptl) (Lit_Comma ",") (libidn)} {(--disable-profile)} {(--enable-bind-now)} {(--with-tls)} {(--with-__thread)} {(--without-zoneinfo)} {(--without-cvs)} {(--without-gd)} {(--with-pkgversion) (Lit_Other "=") (DQ ("Alpine EGLIBC ") (${ VSub_Name pkgver) (-r) (${ VSub_Name pkgrel) (" [svn r") (${ VSub_Name svnrev) ("]") ) } ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [(C {(make)}) (ControlFlow token: arg_word:{(1)})] op_id: Op_DPipe ) ] spids: [237] ) spids: [233 236] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (AndOr children: [ (C {(make)} {(Lit_VarLike "install_root=") (DQ ($ VSub_Name "$pkgdir"))} {(install)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [395] ) spids: [391 394] ) (FuncDef name: gconv body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("GNU iconv character modules"))} spids: [430] ) ] spids: [430] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/iconv)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib)} ) ] spids: [427] ) spids: [423 426] ) (FuncDef name: locales body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Common files for locale support"))} spids: [469] ) ] spids: [469] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/) (Lit_Other "*")} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share)} ) ] spids: [466] ) spids: [462 465] ) (FuncDef name: nscd body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Cache daemon for NIS/DNS"))} spids: [509] ) ] spids: [509] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/var/db/nscd)}) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/var/run/nscd)}) (C {(install)} {(-Dm)} {(755)} {(DQ ($ VSub_Name "$srcdir")) (/nscd.initd)} {(DQ ($ VSub_Name "$subpkgdir")) (/etc/init.d/nscd)} ) (C {(install)} {(-Dm)} {(644)} {(DQ ($ VSub_Name "$srcdir")) (/libc/nscd/nscd.conf)} {(DQ ($ VSub_Name "$subpkgdir")) (/etc/nscd.conf)} ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/sbin)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/sbin/nscd)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/sbin)} ) ] spids: [506] ) spids: [502 505] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:md5sums) op: Equal rhs: { (DQ ("c6de1455fcef3487ee42c14349a72cf4 eglibc-2.14.r14663.tar.gz\n") ("03ffc414f8eb9f1fcb93325008f5ecd7 glibc-2.12-hardened-pie.patch\n") ("8bca42eb8f6d117107ab8e356566b805 glibc-2.10-hardened-configure-picdefault.patch\n") ( "d3b50eec50099791bf2f0c10b605ff7c glibc-2.10-hardened-inittls-nosysenter.patch\n" ) ("1b31d2c7a39298da10e3840076514823 chk_fail.c\n") ("6a6b9992c76a9bece219eb00a16d7549 stack_chk_fail.c\n") ("ff0b0069eeb662145d287d7f98c79447 nscd.initd") ) } spids: [597] ) ] spids: [597] ) ] )