diff --git a/Makefile b/Makefile index b37b76d..4ddef7d 100644 --- a/Makefile +++ b/Makefile @@ -8,20 +8,26 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -DEPENDS = tzdata -ARCH = x86_64 -URL = https://www.gnu.org/software/libc/ +export SRCPKG = glibc +export DEPENDS = bash,dash,tzdata +export ARCH = x86_64 +export URL = https://www.gnu.org/software/libc/ +REPO = core BRIEF = The GNU C Library DESC = The GNU C Library is used as the C library in the GNU system and in \ GNU/Linux systems, as well as many other systems that use Linux as the kernel. -SNAPVER = 7 +SNAPVER = 8 ARCHIVE := $(PWD)/SRC/$(shell ls SRC|egrep '(bz2|gz|tar|xz)$$'|tail -1) TYPE := $(shell file -ib $(ARCHIVE)|cut -d';' -f1|tr -d '\n') SRCDIR := $(shell tar -tf $(ARCHIVE)|head -1|sed 's/\/.*//') PATCHDIR := $(PWD)/SRC/patches BUILDDIR := $(PWD)/BUILD -VERSION := $(shell echo $(SRCDIR)|egrep -o '\-[0-9].*'|sed 's/^-//')-$(SNAPVER) +export VERSION := $(shell echo $(SRCDIR)|egrep -o '\-[0-9].*'| \ + sed 's/^-//')-$(SNAPVER) + +DEV := $(PWD)/glibc-dev +DEVROOT := $(DEV)/ROOT include /usr/share/snap/Makefile.snaplinux @@ -75,13 +81,24 @@ $(ROOT): $(BUILDDIR)/elf/ldd $(ROOT)/usr/share/glibc/ld.so.conf && \ install -m 644 $(PWD)/SNAP/nsswitch.conf \ $(ROOT)/usr/share/glibc/nsswitch.conf && \ - rm -v $(ROOT)/usr/share/info/dir + rm -v $(ROOT)/usr/share/info/dir && \ + rm -v $(ROOT)/etc/ld.so.cache + + @install -d -v $(DEV)/SNAP && \ + for file in `find $(ROOT)|egrep 'man3\/|\.a$$|\.c$$|\.h$$'`; do \ + path=`dirname $$file|sed "s[$(ROOT)[$(DEVROOT)["`; \ + mkdir -p $$path; \ + mv $$file $$path; \ + done && \ + find $(ROOT) -type d -empty -delete && \ + cd $(DEV) && make -f ../Makefile.glibc-dev && mv *.snap ../ test: $(ROOT) @cd $(BUILDDIR) && make check clean: @rm -rvf $(ROOT) \ + $(DEV) \ $(SNAPINFO) \ $(MANIFEST) \ $(FILES) \ diff --git a/Makefile.glibc-dev b/Makefile.glibc-dev new file mode 100644 index 0000000..0c0c869 --- /dev/null +++ b/Makefile.glibc-dev @@ -0,0 +1,16 @@ +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation here: +# (http://www.gnu.org/licenses/gpl-2.0.html) +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +DEPENDS = glibc +REPO = dev +BRIEF = Development files for glibc +DESC = Development files for glibc + +include /usr/share/snap/Makefile.snaplinux diff --git a/SNAP/usher b/SNAP/usher index 6bf3c17..803055e 100755 --- a/SNAP/usher +++ b/SNAP/usher @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh set -e @@ -7,13 +7,15 @@ case $1 in exit 0 ;; postinst) - if [ ! -f ${TARGET}/etc/ld.so.conf ]; then - cp ${TARGET}/usr/share/glibc/ld.so.conf ${TARGET}/etc/ld.so.conf + if [ ! -f /etc/ld.so.conf ]; then + cp /usr/share/glibc/ld.so.conf /etc/ld.so.conf fi - if [ ! -f ${TARGET}/etc/nsswitch.conf ]; then - cp ${TARGET}/usr/share/glibc/nsswitch.conf ${TARGET}/etc/nsswitch.conf + if [ ! -f /etc/nsswitch.conf ]; then + cp /usr/share/glibc/nsswitch.conf /etc/nsswitch.conf fi + + ldconfig ;; prerm) exit 0