Add several new components working towards a fully sandboxed buildsystem
-Erik
This commit is contained in:
parent
63db64a0ac
commit
77bf6fb0e6
45
make/bash.mk
Normal file
45
make/bash.mk
Normal file
@ -0,0 +1,45 @@
|
||||
#############################################################
|
||||
#
|
||||
# bash
|
||||
#
|
||||
#############################################################
|
||||
BASH_SOURCE:=bash-2.05b.tar.gz
|
||||
BASH_SITE:=ftp://ftp.gnu.org/gnu/bash
|
||||
BASH_CAT:=zcat
|
||||
BASH_DIR:=$(BUILD_DIR)/bash-2.05b
|
||||
BASH_BINARY:=bash
|
||||
BASH_TARGET_BINARY:=bin/bash
|
||||
|
||||
$(DL_DIR)/$(BASH_SOURCE):
|
||||
wget -P $(DL_DIR) $(BASH_SITE)/$(BASH_SOURCE)
|
||||
|
||||
bash-source: $(DL_DIR)/$(BASH_SOURCE)
|
||||
|
||||
$(BASH_DIR)/.unpacked: $(DL_DIR)/$(BASH_SOURCE)
|
||||
$(BASH_CAT) $(DL_DIR)/$(BASH_SOURCE) | tar -C $(BUILD_DIR) -xvf -
|
||||
touch $(BASH_DIR)/.unpacked
|
||||
|
||||
$(BASH_DIR)/.configured: $(BASH_DIR)/.unpacked
|
||||
(cd $(BASH_DIR); autoconf; rm -f config.cache; CC=$(TARGET_CC1) \
|
||||
CFLAGS=-D_POSIX_SOURCE ./configure --prefix=/usr --disable-nls \
|
||||
--mandir=/junk --infodir=/junk \
|
||||
);
|
||||
touch $(BASH_DIR)/.configured
|
||||
|
||||
$(BASH_DIR)/$(BASH_BINARY): $(BASH_DIR)/.configured
|
||||
$(MAKE) CC=$(TARGET_CC1) -C $(BASH_DIR)
|
||||
|
||||
$(TARGET_DIR)/$(BASH_TARGET_BINARY): $(BASH_DIR)/$(BASH_BINARY)
|
||||
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC1) -C $(BASH_DIR) install
|
||||
mv $(TARGET_DIR)/usr/bin/bash* $(TARGET_DIR)/bin/
|
||||
rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/junk
|
||||
|
||||
bash: ncurses uclibc $(TARGET_DIR)/$(BASH_TARGET_BINARY)
|
||||
|
||||
bash-clean:
|
||||
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC1) -C $(BASH_DIR) uninstall
|
||||
-make -C $(BASH_DIR) clean
|
||||
|
||||
bash-dirclean:
|
||||
rm -rf $(BASH_DIR)
|
||||
|
54
make/coreutils.mk
Normal file
54
make/coreutils.mk
Normal file
@ -0,0 +1,54 @@
|
||||
#############################################################
|
||||
#
|
||||
# coreutils
|
||||
#
|
||||
#############################################################
|
||||
COREUTILS_SOURCE:=coreutils-4.5.3.tar.bz2
|
||||
COREUTILS_SITE:=ftp://alpha.gnu.org/gnu/coreutils/
|
||||
COREUTILS_CAT:=bzcat
|
||||
COREUTILS_DIR:=$(BUILD_DIR)/coreutils-4.5.3
|
||||
COREUTILS_BINARY:=src/cat
|
||||
COREUTILS_TARGET_BINARY:=bin/cat
|
||||
BIN_PROGS:=cat chgrp chmod chown cp date dd df dir echo false ln ls mkdir \
|
||||
mknod mv pwd rm rmdir vdir sleep stty sync touch true uname
|
||||
|
||||
$(DL_DIR)/$(COREUTILS_SOURCE):
|
||||
wget -P $(DL_DIR) $(COREUTILS_SITE)/$(COREUTILS_SOURCE)
|
||||
|
||||
coreutils-source: $(DL_DIR)/$(COREUTILS_SOURCE)
|
||||
|
||||
$(COREUTILS_DIR)/.unpacked: $(DL_DIR)/$(COREUTILS_SOURCE)
|
||||
$(COREUTILS_CAT) $(DL_DIR)/$(COREUTILS_SOURCE) | tar -C $(BUILD_DIR) -xvf -
|
||||
touch $(COREUTILS_DIR)/.unpacked
|
||||
|
||||
$(COREUTILS_DIR)/.configured: $(COREUTILS_DIR)/.unpacked
|
||||
(cd $(COREUTILS_DIR); autoconf; rm -f config.cache; CC=$(TARGET_CC1) \
|
||||
CFLAGS=-D_POSIX_SOURCE ./configure --prefix=/usr --disable-nls \
|
||||
--mandir=/junk --infodir=/junk \
|
||||
);
|
||||
touch $(COREUTILS_DIR)/.configured
|
||||
|
||||
$(COREUTILS_DIR)/$(COREUTILS_BINARY): $(COREUTILS_DIR)/.configured
|
||||
$(MAKE) CC=$(TARGET_CC1) -C $(COREUTILS_DIR)
|
||||
|
||||
$(TARGET_DIR)/$(COREUTILS_TARGET_BINARY): $(COREUTILS_DIR)/$(COREUTILS_BINARY)
|
||||
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC1) -C $(COREUTILS_DIR) install
|
||||
# some things go in root rather than usr
|
||||
for f in $(BIN_PROGS); do \
|
||||
mv $(TARGET_DIR)/usr/bin/$$f $(TARGET_DIR)/bin/$$f; \
|
||||
done
|
||||
# link for archaic shells
|
||||
ln -fs test $(TARGET_DIR)/usr/bin/[
|
||||
# gnu thinks chroot is in bin, debian thinks it's in sbin
|
||||
mv $(TARGET_DIR)/usr/bin/chroot $(TARGET_DIR)/usr/sbin/chroot
|
||||
rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/junk
|
||||
|
||||
coreutils: uclibc $(TARGET_DIR)/$(COREUTILS_TARGET_BINARY)
|
||||
|
||||
coreutils-clean:
|
||||
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC1) -C $(COREUTILS_DIR) uninstall
|
||||
-make -C $(COREUTILS_DIR) clean
|
||||
|
||||
coreutils-dirclean:
|
||||
rm -rf $(COREUTILS_DIR)
|
||||
|
47
make/findutils.mk
Normal file
47
make/findutils.mk
Normal file
@ -0,0 +1,47 @@
|
||||
#############################################################
|
||||
#
|
||||
# findutils
|
||||
#
|
||||
#############################################################
|
||||
FINDUTILS_SOURCE:=findutils_4.1.7.orig.tar.gz
|
||||
FINDUTILS_SITE:=http://ftp.debian.org/debian/pool/main/f/findutils
|
||||
FINDUTILS_CAT:=zcat
|
||||
FINDUTILS_DIR:=$(BUILD_DIR)/findutils-4.1.7.orig
|
||||
FINDUTILS_BINARY:=find/find
|
||||
FINDUTILS_TARGET_BINARY:=usr/bin/find
|
||||
|
||||
$(DL_DIR)/$(FINDUTILS_SOURCE):
|
||||
wget -P $(DL_DIR) $(FINDUTILS_SITE)/$(FINDUTILS_SOURCE)
|
||||
|
||||
findutils-source: $(DL_DIR)/$(FINDUTILS_SOURCE)
|
||||
|
||||
$(FINDUTILS_DIR)/.unpacked: $(DL_DIR)/$(FINDUTILS_SOURCE)
|
||||
$(FINDUTILS_CAT) $(DL_DIR)/$(FINDUTILS_SOURCE) | tar -C $(BUILD_DIR) -xvf -
|
||||
(cd $(FINDUTILS_DIR); perl -i -p -e "s,# define mbstate_t int,# define mbstate_t int\n\
|
||||
# define wchar_t char,;" $(FINDUTILS_DIR)/lib/quotearg.c)
|
||||
touch $(FINDUTILS_DIR)/.unpacked
|
||||
|
||||
$(FINDUTILS_DIR)/.configured: $(FINDUTILS_DIR)/.unpacked
|
||||
(cd $(FINDUTILS_DIR); autoconf; rm -f config.cache; CC=$(TARGET_CC1) \
|
||||
CFLAGS=-D_POSIX_SOURCE ./configure --prefix=/usr --disable-nls \
|
||||
--mandir=/junk --infodir=/junk --localstatedir=/var/lib/locate \
|
||||
--libexecdir='$${prefix}/lib/locate' \
|
||||
);
|
||||
touch $(FINDUTILS_DIR)/.configured
|
||||
|
||||
$(FINDUTILS_DIR)/$(FINDUTILS_BINARY): $(FINDUTILS_DIR)/.configured
|
||||
$(MAKE) CC=$(TARGET_CC1) -C $(FINDUTILS_DIR)
|
||||
|
||||
$(TARGET_DIR)/$(FINDUTILS_TARGET_BINARY): $(FINDUTILS_DIR)/$(FINDUTILS_BINARY)
|
||||
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC1) -C $(FINDUTILS_DIR) install
|
||||
rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/junk
|
||||
|
||||
findutils: uclibc $(TARGET_DIR)/$(FINDUTILS_TARGET_BINARY)
|
||||
|
||||
findutils-clean:
|
||||
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC1) -C $(FINDUTILS_DIR) uninstall
|
||||
-make -C $(FINDUTILS_DIR) clean
|
||||
|
||||
findutils-dirclean:
|
||||
rm -rf $(FINDUTILS_DIR)
|
||||
|
44
make/gawk.mk
Normal file
44
make/gawk.mk
Normal file
@ -0,0 +1,44 @@
|
||||
#############################################################
|
||||
#
|
||||
# gawk
|
||||
#
|
||||
#############################################################
|
||||
GAWK_SOURCE:=gawk-3.1.1.tar.gz
|
||||
GAWK_SITE:=ftp://ftp.gnu.org/gnu/gawk
|
||||
GAWK_CAT:=zcat
|
||||
GAWK_DIR:=$(BUILD_DIR)/gawk-3.1.1
|
||||
GAWK_BINARY:=gawk
|
||||
GAWK_TARGET_BINARY:=usr/bin/gawk
|
||||
|
||||
$(DL_DIR)/$(GAWK_SOURCE):
|
||||
wget -P $(DL_DIR) $(GAWK_SITE)/$(GAWK_SOURCE)
|
||||
|
||||
gawk-source: $(DL_DIR)/$(GAWK_SOURCE)
|
||||
|
||||
$(GAWK_DIR)/.unpacked: $(DL_DIR)/$(GAWK_SOURCE)
|
||||
$(GAWK_CAT) $(DL_DIR)/$(GAWK_SOURCE) | tar -C $(BUILD_DIR) -xvf -
|
||||
touch $(GAWK_DIR)/.unpacked
|
||||
|
||||
$(GAWK_DIR)/.configured: $(GAWK_DIR)/.unpacked
|
||||
(cd $(GAWK_DIR); autoconf; rm -f config.cache; CC=$(TARGET_CC1) \
|
||||
CFLAGS=-D_POSIX_SOURCE ./configure --prefix=/usr --disable-nls \
|
||||
--mandir=/junk --infodir=/junk \
|
||||
);
|
||||
touch $(GAWK_DIR)/.configured
|
||||
|
||||
$(GAWK_DIR)/$(GAWK_BINARY): $(GAWK_DIR)/.configured
|
||||
$(MAKE) CC=$(TARGET_CC1) -C $(GAWK_DIR)
|
||||
|
||||
$(TARGET_DIR)/$(GAWK_TARGET_BINARY): $(GAWK_DIR)/$(GAWK_BINARY)
|
||||
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC1) -C $(GAWK_DIR) install
|
||||
rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/junk
|
||||
|
||||
gawk: uclibc $(TARGET_DIR)/$(GAWK_TARGET_BINARY)
|
||||
|
||||
gawk-clean:
|
||||
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC1) -C $(GAWK_DIR) uninstall
|
||||
-make -C $(GAWK_DIR) clean
|
||||
|
||||
gawk-dirclean:
|
||||
rm -rf $(GAWK_DIR)
|
||||
|
44
make/make.mk
Normal file
44
make/make.mk
Normal file
@ -0,0 +1,44 @@
|
||||
#############################################################
|
||||
#
|
||||
# make
|
||||
#
|
||||
#############################################################
|
||||
GNUMAKE_SOURCE:=make-3.80.tar.bz2
|
||||
GNUMAKE_SITE:=ftp://ftp.gnu.org/gnu/make
|
||||
GNUMAKE_CAT:=bzcat
|
||||
GNUMAKE_DIR:=$(BUILD_DIR)/make-3.80
|
||||
GNUMAKE_BINARY:=make
|
||||
GNUMAKE_TARGET_BINARY:=usr/bin/make
|
||||
|
||||
$(DL_DIR)/$(GNUMAKE_SOURCE):
|
||||
wget -P $(DL_DIR) $(GNUMAKE_SITE)/$(GNUMAKE_SOURCE)
|
||||
|
||||
make-source: $(DL_DIR)/$(GNUMAKE_SOURCE)
|
||||
|
||||
$(GNUMAKE_DIR)/.unpacked: $(DL_DIR)/$(GNUMAKE_SOURCE)
|
||||
$(GNUMAKE_CAT) $(DL_DIR)/$(GNUMAKE_SOURCE) | tar -C $(BUILD_DIR) -xvf -
|
||||
touch $(GNUMAKE_DIR)/.unpacked
|
||||
|
||||
$(GNUMAKE_DIR)/.configured: $(GNUMAKE_DIR)/.unpacked
|
||||
(cd $(GNUMAKE_DIR); autoconf; rm -f config.cache; CC=$(TARGET_CC1) \
|
||||
CFLAGS=-D_POSIX_SOURCE ./configure --prefix=/usr --disable-nls \
|
||||
--mandir=/junk --infodir=/junk \
|
||||
);
|
||||
touch $(GNUMAKE_DIR)/.configured
|
||||
|
||||
$(GNUMAKE_DIR)/$(GNUMAKE_BINARY): $(GNUMAKE_DIR)/.configured
|
||||
$(MAKE) CC=$(TARGET_CC1) -C $(GNUMAKE_DIR)
|
||||
|
||||
$(TARGET_DIR)/$(GNUMAKE_TARGET_BINARY): $(GNUMAKE_DIR)/$(GNUMAKE_BINARY)
|
||||
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC1) -C $(GNUMAKE_DIR) install
|
||||
rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/junk
|
||||
|
||||
make: uclibc $(TARGET_DIR)/$(GNUMAKE_TARGET_BINARY)
|
||||
|
||||
make-clean:
|
||||
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC1) -C $(GNUMAKE_DIR) uninstall
|
||||
-make -C $(GNUMAKE_DIR) clean
|
||||
|
||||
make-dirclean:
|
||||
rm -rf $(GNUMAKE_DIR)
|
||||
|
45
make/sed.mk
Normal file
45
make/sed.mk
Normal file
@ -0,0 +1,45 @@
|
||||
#############################################################
|
||||
#
|
||||
# sed
|
||||
#
|
||||
#############################################################
|
||||
SED_SOURCE:=sed-3.02.tar.gz
|
||||
SED_SITE:=ftp://ftp.gnu.org/gnu/sed
|
||||
SED_CAT:=zcat
|
||||
SED_DIR:=$(BUILD_DIR)/sed-3.02
|
||||
SED_BINARY:=sed/sed
|
||||
SED_TARGET_BINARY:=bin/sed
|
||||
|
||||
$(DL_DIR)/$(SED_SOURCE):
|
||||
wget -P $(DL_DIR) $(SED_SITE)/$(SED_SOURCE)
|
||||
|
||||
sed-source: $(DL_DIR)/$(SED_SOURCE)
|
||||
|
||||
$(SED_DIR)/.unpacked: $(DL_DIR)/$(SED_SOURCE)
|
||||
$(SED_CAT) $(DL_DIR)/$(SED_SOURCE) | tar -C $(BUILD_DIR) -xvf -
|
||||
touch $(SED_DIR)/.unpacked
|
||||
|
||||
$(SED_DIR)/.configured: $(SED_DIR)/.unpacked
|
||||
(cd $(SED_DIR); autoconf; rm -f config.cache; CC=$(TARGET_CC1) \
|
||||
CFLAGS=-D_POSIX_SOURCE ./configure --prefix=/usr --disable-nls \
|
||||
--mandir=/junk --infodir=/junk \
|
||||
);
|
||||
touch $(SED_DIR)/.configured
|
||||
|
||||
$(SED_DIR)/$(SED_BINARY): $(SED_DIR)/.configured
|
||||
$(MAKE) CC=$(TARGET_CC1) -C $(SED_DIR)
|
||||
|
||||
$(TARGET_DIR)/$(SED_TARGET_BINARY): $(SED_DIR)/$(SED_BINARY)
|
||||
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC1) -C $(SED_DIR) install
|
||||
mv $(TARGET_DIR)/usr/bin/sed $(TARGET_DIR)/bin/
|
||||
rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/junk
|
||||
|
||||
sed: uclibc $(TARGET_DIR)/$(SED_TARGET_BINARY)
|
||||
|
||||
sed-clean:
|
||||
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC1) -C $(SED_DIR) uninstall
|
||||
-sed -C $(SED_DIR) clean
|
||||
|
||||
sed-dirclean:
|
||||
rm -rf $(SED_DIR)
|
||||
|
Loading…
Reference in New Issue
Block a user