chore: remove toolchain and kernel builds (#290)

This PR uses external builds of the toolchain and the kernel.
This commit is contained in:
Andrew Rynhard 2018-12-15 19:52:03 -08:00 committed by GitHub
parent fdac0439f6
commit 2ae2b527eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 68 additions and 5733 deletions

View File

@ -32,9 +32,7 @@ script:
set -e
mkdir -p ./build
cd ./src/tools && conform build
cd ../kernel && conform build
cd ../rootfs && conform build
cd ./src/rootfs && conform build
cd ../initramfs && conform build
cd ../image && conform build
cd ../docs && conform build

View File

@ -48,7 +48,7 @@ tasks:
WORKDIR /
boot:
template: |
COPY --from=talos/kernel:{{ .Docker.Image.Tag }} /tmp/vmlinuz /generated/boot/vmlinuz
COPY --from=autonomy/kernel:c33b0fd /vmlinuz /generated/boot/vmlinuz
COPY --from=talos/initramfs:{{ .Docker.Image.Tag }} /tmp/initramfs.xz /generated/boot/initramfs.xz
image:
template: |

View File

@ -140,8 +140,8 @@ tasks:
{{ end }}
RUN chmod +x /initramfs/init
RUN mkdir -p /initramfs/lib \
&& cp /tools/lib/libblkid.* /initramfs/lib \
&& cp /tools/lib/libuuid.* /initramfs/lib
&& cp /toolchain/lib/libblkid.* /initramfs/lib \
&& cp /toolchain/lib/libuuid.* /initramfs/lib
initramfs:
template: |
WORKDIR /initramfs
@ -227,10 +227,10 @@ tasks:
ENTRYPOINT ["/{{ .Docker.CurrentStage }}"]
src:
template: |
FROM talos/tools:{{ .Docker.Image.Tag }} AS {{ .Docker.CurrentStage }}
RUN ln -s /tools/lib64 /lib64
FROM autonomy/toolchain:690a03a AS {{ .Docker.CurrentStage }}
RUN ln -s /toolchain/lib64 /lib64
RUN mkdir -p /etc/ssl/certs
RUN ln -s /tools/etc/ssl/certs/ca-certificates /etc/ssl/certs/ca-certificates
RUN ln -s /toolchain/etc/ssl/certs/ca-certificates /etc/ssl/certs/ca-certificates
RUN curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | bash -s -- -b $GOPATH/bin v1.10.1
ENV GO111MODULE on
WORKDIR /src/github.com/autonomy/talos/src/initramfs
@ -245,6 +245,7 @@ tasks:
FROM {{ .Repository }}:base AS {{ .Docker.CurrentStage }}
WORKDIR /src/github.com/autonomy/talos/src/initramfs
RUN chmod +x ./hack/test.sh
ENV PATH /rootfs/bin:$PATH
RUN ./hack/test.sh --unit
RUN ./hack/test.sh --lint ./hack/golangci-lint.yaml
trustd:
@ -266,17 +267,17 @@ tasks:
ENTRYPOINT ["/{{ .Docker.CurrentStage }}"]
xfsprogs:
template: |
FROM talos/tools:{{ .Docker.Image.Tag }} AS {{ .Docker.CurrentStage }}
RUN ln -s /tools/lib64 /lib64
FROM autonomy/toolchain:690a03a AS {{ .Docker.CurrentStage }}
RUN mkdir -p /etc/ssl/certs
RUN ln -s /tools/etc/ssl/certs/ca-certificates /etc/ssl/certs/ca-certificates
RUN cp /tools/lib/libblkid.* /lib \
&& cp /tools/lib/libuuid.* /lib
RUN ln -s /toolchain/etc/ssl/certs/ca-certificates /etc/ssl/certs/ca-certificates
# RUN mkdir /lib \
# && cp /toolchain/lib/libblkid.* /lib \
# && cp /toolchain/lib/libuuid.* /lib
WORKDIR /tmp/{{ .Docker.CurrentStage }}
RUN curl -L {{index .Variables "srcXfsprogs" }} | tar -xJ --strip-components=1
RUN make \
DEBUG=-DNDEBUG \
INSTALL_USER=0 \
INSTALL_GROUP=0 \
LOCAL_CONFIGURE_OPTIONS="--prefix=/usr"
LOCAL_CONFIGURE_OPTIONS="--prefix=/"
RUN make install DESTDIR={{ index .Variables "rootfs" }}

View File

@ -72,7 +72,7 @@ const (
CRIOImage = "docker.io/autonomy/cri-o:latest"
// UserDataPath is the path to the downloaded user data.
UserDataPath = "/var/run/userdata.yaml"
UserDataPath = "/run/userdata.yaml"
// UserDataCIData is the volume label for NoCloud cloud-init.
// See https://cloudinit.readthedocs.io/en/latest/topics/datasources/nocloud.html#datasource-nocloud.

View File

@ -53,13 +53,13 @@ func Hosts(s, hostname, ip string) (err error) {
return
}
if err := ioutil.WriteFile(path.Join(s, "/var/run/hosts"), writer.Bytes(), 0644); err != nil {
if err := ioutil.WriteFile("/run/hosts", writer.Bytes(), 0644); err != nil {
return fmt.Errorf("write /etc/hosts: %v", err)
}
// The kubelet wants to manage /etc/hosts. Create a symlink there that
// points to a writable file.
return createSymlink("/var/run/hosts", path.Join(s, "/etc/hosts"))
return createSymlink("/run/hosts", path.Join(s, "/etc/hosts"))
}
// ResolvConf symlinks /proc/net/pnp to /etc/resolv.conf. See

View File

@ -4,7 +4,6 @@ import (
"io/ioutil"
"net"
"os"
"path"
"github.com/autonomy/talos/src/initramfs/cmd/init/pkg/constants"
"github.com/autonomy/talos/src/initramfs/cmd/init/pkg/rootfs/cni"
@ -66,7 +65,7 @@ func Prepare(s string, data userdata.UserData) (err error) {
if err != nil {
return
}
if err = ioutil.WriteFile(path.Join(constants.NewRoot, constants.UserDataPath), dataBytes, 0400); err != nil {
if err = ioutil.WriteFile(constants.UserDataPath, dataBytes, 0400); err != nil {
return
}

View File

@ -5,7 +5,7 @@ require (
github.com/Microsoft/go-winio v0.4.9 // indirect
github.com/Microsoft/hcsshim v0.7.0 // indirect
github.com/containerd/cgroups v0.0.0-20180905221500-58556f5ad844
github.com/containerd/containerd v1.2.0
github.com/containerd/containerd v1.2.1
github.com/containerd/continuity v0.0.0-20181003075958-be9bd761db19 // indirect
github.com/containerd/cri v1.11.1 // indirect
github.com/containerd/fifo v0.0.0-20180307165137-3d5202aec260 // indirect
@ -25,7 +25,6 @@ require (
github.com/godbus/dbus v4.1.0+incompatible // indirect
github.com/gogo/googleapis v1.1.0 // indirect
github.com/gogo/protobuf v1.1.1 // indirect
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b // indirect
github.com/golang/groupcache v0.0.0-20180513044358-24b0969c4cb7 // indirect
github.com/golang/protobuf v1.2.0
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c // indirect
@ -59,31 +58,32 @@ require (
github.com/syndtr/gocapability v0.0.0-20180223013746-33e07d32887e // indirect
github.com/vmware/vmw-guestinfo v0.0.0-20170707015358-25eff159a728
golang.org/x/crypto v0.0.0-20180515001509-1a580b3eff78 // indirect
golang.org/x/net v0.0.0-20180724234803-3673e40ba225
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d
golang.org/x/oauth2 v0.0.0-20181003184128-c57b0facaced // indirect
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f // indirect
golang.org/x/sys v0.0.0-20181019160139-8e24a49d80f8
golang.org/x/text v0.3.0
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2 // indirect
google.golang.org/appengine v1.2.0 // indirect
google.golang.org/genproto v0.0.0-20180831171423-11092d34479b // indirect
google.golang.org/grpc v1.11.3
google.golang.org/grpc v1.17.0
gopkg.in/airbrake/gobrake.v2 v2.0.9 // indirect
gopkg.in/fsnotify.v1 v1.4.7 // indirect
gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
gopkg.in/yaml.v2 v2.1.1
gopkg.in/yaml.v2 v2.2.2
gotest.tools v2.1.0+incompatible // indirect
k8s.io/api v0.0.0-20181031211151-1455c336c32a
k8s.io/apiextensions-apiserver v0.0.0-20181110112449-a6e0648e729a // indirect
k8s.io/apimachinery v0.0.0-20181031012033-2e0dc82819fd
k8s.io/apimachinery v0.0.0-20181211025822-57dc7e687b54
k8s.io/apiserver v0.0.0-20181110111630-c45349c92333 // indirect
k8s.io/client-go v9.0.0+incompatible
k8s.io/cluster-bootstrap v0.0.0-20181108060158-bf9d13f1fbeb // indirect
k8s.io/klog v0.1.0 // indirect
k8s.io/kube-openapi v0.0.0-20181109181836-c59034cc13d5 // indirect
k8s.io/kube-proxy v0.0.0-20181108055616-8eeec43ca7b5 // indirect
k8s.io/kubelet v0.0.0-20181108055742-1ff588f76017 // indirect
k8s.io/kubernetes v1.13.0-alpha.3
k8s.io/utils v0.0.0-20181102055113-1bd4f387aa67 // indirect
sigs.k8s.io/yaml v1.1.0 // indirect
)

View File

@ -1,13 +1,15 @@
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
github.com/BurntSushi/toml v0.3.0 h1:e1/Ivsx3Z0FVTV0NSOv/aVgbUWyQuzj7DDnFblkRvsY=
github.com/BurntSushi/toml v0.3.0/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/Microsoft/go-winio v0.4.9 h1:3RbgqgGVqmcpbOiwrjbVtDHLlJBGF6aE+yHmNtBNsFQ=
github.com/Microsoft/go-winio v0.4.9/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA=
github.com/Microsoft/hcsshim v0.7.0 h1:m1J6JDH52fG9Qjq8fznVe8PNX75RFge88bzQ8u/HFM0=
github.com/Microsoft/hcsshim v0.7.0/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/containerd/cgroups v0.0.0-20180905221500-58556f5ad844 h1:W0F6ErEE8B84VNA5yX3sqNm0z7tivzEtvI/3DMo4Mr4=
github.com/containerd/cgroups v0.0.0-20180905221500-58556f5ad844/go.mod h1:X9rLEHIqSf/wfK8NsPqxJmeZgW4pcfzdXITDrUSJ6uI=
github.com/containerd/containerd v1.2.0 h1:0NP+uCCcSf7IHOEw/WE1vgcKh6DKIlTqqfh+dtoxDhw=
github.com/containerd/containerd v1.2.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
github.com/containerd/containerd v1.2.1 h1:rG4/dK9V2qa5a9ly/E3CtG6/FBXfmSkDo8An3ea2Yt8=
github.com/containerd/containerd v1.2.1/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
github.com/containerd/continuity v0.0.0-20181003075958-be9bd761db19 h1:HSgjWPBWohO3kHDPwCPUGSLqJjXCjA7ad5057beR2ZU=
github.com/containerd/continuity v0.0.0-20181003075958-be9bd761db19/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
github.com/containerd/cri v1.11.1 h1:mmU4M2zh6yLy2jMUAhosOOuaZRoXa1CwYIxM2zNj8iI=
@ -50,6 +52,7 @@ github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekf
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/groupcache v0.0.0-20180513044358-24b0969c4cb7 h1:u4bArs140e9+AfE52mFHOXVFnOSBJBRlzTHrOPLOIhE=
github.com/golang/groupcache v0.0.0-20180513044358-24b0969c4cb7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c h1:964Od4U6p2jUkFxvCydnIczKteheJEzHRToSGK3Bnlw=
@ -74,6 +77,7 @@ github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NH
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/json-iterator/go v0.0.0-20180701071628-ab8a2e0c74be h1:AHimNtVIpiBjPUhEF5KNCkrUyqTSA5zWUl8sQ2bfGBE=
github.com/json-iterator/go v0.0.0-20180701071628-ab8a2e0c74be/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kubernetes-incubator/cri-o v1.11.2 h1:fFVGShhe9znd4QmLYk19zJNocapw9Mr73ISXkj+Bpes=
github.com/kubernetes-incubator/cri-o v1.11.2/go.mod h1:iVQXkISBUrMZCggYuwSRBDDZ9XoP3WzfFFYpF+/RI8g=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
@ -114,24 +118,32 @@ github.com/vmware/vmw-guestinfo v0.0.0-20170707015358-25eff159a728 h1:sH9mEk+fly
github.com/vmware/vmw-guestinfo v0.0.0-20170707015358-25eff159a728/go.mod h1:x9oS4Wk2s2u4tS29nEaDLdzvuHdB19CvSGJjPgkZJNk=
golang.org/x/crypto v0.0.0-20180515001509-1a580b3eff78 h1:uJIReYEB1ZZLarzi83Pmig1HhZ/cwFCysx05l0PFBIk=
golang.org/x/crypto v0.0.0-20180515001509-1a580b3eff78/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225 h1:kNX+jCowfMYzvlSvJu5pQWEmyWFrBXJ3PBy10xKMXK8=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d h1:g9qWBGx4puODJTMVyoPrpoxPFgVGd+z1DZwjfRu4d0I=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20181003184128-c57b0facaced h1:4oqSq7eft7MdPKBGQK11X9WYUxmj6ZLgGTqYIbY1kyw=
golang.org/x/oauth2 v0.0.0-20181003184128-c57b0facaced/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f h1:wMNYb4v58l5UBM7MYRLPG6ZhfOqbKu7X5eyFl8ZhKvA=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181019160139-8e24a49d80f8 h1:R91KX5nmbbvEd7w370cbVzKC+EzCTGqZq63Zad5IcLM=
golang.org/x/sys v0.0.0-20181019160139-8e24a49d80f8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2 h1:+DCIGbF/swA92ohVg0//6X2IVY3KZs6p9mix0ziNYJM=
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.2.0 h1:S0iUepdCWODXRvtE+gcRDd15L+k+k1AiHlMiMjefH24=
google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20180831171423-11092d34479b h1:lohp5blsw53GBXtLyLNaTXPXS9pJ1tiTw61ZHUoE9Qw=
google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/grpc v1.11.3 h1:yy64MFk0j8qZbdXVA0MaSE+s/+6nCUdiyf1uNSjAz0c=
google.golang.org/grpc v1.11.3/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
google.golang.org/grpc v1.17.0 h1:TRJYBgMclJvGYn2rIMjj+h9KtMt5r1Ij7ODVRIZkwhk=
google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
gopkg.in/airbrake/gobrake.v2 v2.0.9 h1:7z2uVWwn7oVeeugY1DtlPAy5H+KYgB1KeKTnqjNatLo=
gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
@ -144,29 +156,34 @@ gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/yaml.v2 v2.1.1 h1:fxK3tv8mQPVEgxu/S2LJ040LyqiajHt+syP0CdDS/Sc=
gopkg.in/yaml.v2 v2.1.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gotest.tools v2.1.0+incompatible h1:5USw7CrJBYKqjg9R7QlA6jzqZKEAtvW82aNmsxxGPxw=
gotest.tools v2.1.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
k8s.io/api v0.0.0-20181031211151-1455c336c32a h1:FpAv2ADbN/Hf0lCdblM6VhOE1a2JYUzv44kENG1aCdI=
k8s.io/api v0.0.0-20181031211151-1455c336c32a/go.mod h1:iuAfoD4hCxJ8Onx9kaTIt30j7jUFS00AXQi6QMi99vA=
k8s.io/apiextensions-apiserver v0.0.0-20181110112449-a6e0648e729a h1:enG3CUxMMMQEiPEyuxhX0DLMUjMGgm5AV4hPXaRJoR8=
k8s.io/apiextensions-apiserver v0.0.0-20181110112449-a6e0648e729a/go.mod h1:IxkesAMoaCRoLrPJdZNZUQp9NfZnzqaVzLhb2VEQzXE=
k8s.io/apimachinery v0.0.0-20181031012033-2e0dc82819fd h1:rzRDbWmTXaWr6SDV9caWzwAUPSfvgwX6j89LBnq/ycw=
k8s.io/apimachinery v0.0.0-20181031012033-2e0dc82819fd/go.mod h1:ccL7Eh7zubPUSh9A3USN90/OzHNSVN6zxzde07TDCL0=
k8s.io/apimachinery v0.0.0-20181211025822-57dc7e687b54 h1:2O23KCqjI/ISedkxmAkVTb/+Of8oKfy67lmRo3rLFbQ=
k8s.io/apimachinery v0.0.0-20181211025822-57dc7e687b54/go.mod h1:ccL7Eh7zubPUSh9A3USN90/OzHNSVN6zxzde07TDCL0=
k8s.io/apiserver v0.0.0-20181110111630-c45349c92333 h1:vJS6O3laUr6RjawTCj6mGtWAtSZIj8UJHHdJkVoq8iY=
k8s.io/apiserver v0.0.0-20181110111630-c45349c92333/go.mod h1:6bqaTSOSJavUIXUtfaR9Os9JtTCm8ZqH2SUl2S60C4w=
k8s.io/client-go v9.0.0+incompatible h1:/PdJjifJTjMFe0G4ESclZDcwF1+bFePTJ2xf+MXjcvs=
k8s.io/client-go v9.0.0+incompatible h1:2kqW3X2xQ9SbFvWZjGEHBLlWc1LG9JIJNXWkuqwdZ3A=
k8s.io/client-go v9.0.0+incompatible/go.mod h1:7vJpHMYJwNQCWgzmNV+VYUl1zCObLyodBc8nIyt8L5s=
k8s.io/cluster-bootstrap v0.0.0-20181108060158-bf9d13f1fbeb h1:z/dxZqygnYDAliIMBasYmAl2rprSkZG7m63O/HRYnas=
k8s.io/cluster-bootstrap v0.0.0-20181108060158-bf9d13f1fbeb/go.mod h1:iBSm2nwo3OaiuW8VDvc3ySDXK5SKfUrxwPvBloKG7zg=
k8s.io/klog v0.1.0 h1:I5HMfc/DtuVaGR1KPwUrTc476K8NCqNBldC7H4dYEzk=
k8s.io/klog v0.1.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
k8s.io/kube-openapi v0.0.0-20181109181836-c59034cc13d5 h1:MH8SvyTlIiLt8b1oHy4Dtp1zPpLGp6lTOjvfzPTkoQE=
k8s.io/kube-openapi v0.0.0-20181109181836-c59034cc13d5/go.mod h1:BXM9ceUBTj2QnfH2MK1odQs778ajze1RxcmP6S8RVVc=
k8s.io/kube-proxy v0.0.0-20181108055616-8eeec43ca7b5 h1:tM7Kt5AXss8IHvgPHoff1hyJHxLk3DEI8zotPbGcS6g=
k8s.io/kube-proxy v0.0.0-20181108055616-8eeec43ca7b5/go.mod h1:wYVhqAVLhGBLbGzgb9GsBakzIddI81JxSUHANQvzZZs=
k8s.io/kubelet v0.0.0-20181108055742-1ff588f76017 h1:Df4PBcfWHh/oi4pHC+G7mbJEKtbukYl34RDo12caUxA=
k8s.io/kubelet v0.0.0-20181108055742-1ff588f76017/go.mod h1:m6JOtVhjgs4GGnzhPpXuNF9VG+IjARwo/dHCNw4+QDA=
k8s.io/kubernetes v1.13.0-alpha.3 h1:vk043/s8SX9P545f65zH/uMJoXqGQq5WVpVzDqx80W8=
k8s.io/kubernetes v1.13.0-alpha.3 h1:4vp/iBzIzE9eFMEoYR3qKO9v2qASHwrP3Kdg1s9yuuA=
k8s.io/kubernetes v1.13.0-alpha.3/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk=
k8s.io/utils v0.0.0-20181102055113-1bd4f387aa67 h1:+kBMW7D4cSYIhPz0fVs6NRp5QILMz6+65ec4kWJOoXs=
k8s.io/utils v0.0.0-20181102055113-1bd4f387aa67/go.mod h1:8k8uAuAQ0rXslZKaEWd0c3oVhZz7sSzSiPnVZayjIX0=
sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=

View File

@ -1,34 +0,0 @@
metadata:
repository: talos/kernel
variables:
artifacts: /artifacts
runcCheckConfig: https://raw.githubusercontent.com/opencontainers/runc/v1.0.0-rc5/script/check-config.sh
srcLinux: https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.1.tar.xz
pipeline:
stages:
- build
stages:
build:
tasks:
- linux
tasks:
linux:
template: |
FROM talos/tools:{{ .Docker.Image.Tag}} AS {{ .Docker.CurrentStage }}
WORKDIR /tools/usr/local/src/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcLinux" }} | tar --strip-components=1 -xJ
ADD {{ index .Variables "runcCheckConfig" }} /bin/check-config.sh
RUN chmod +x /bin/check-config.sh
RUN make mrproper
COPY src/linux/config .config
RUN mkdir -p /usr/bin \
&& ln -s /tools/bin/env /usr/bin/env \
&& ln -s /tools/bin/true /bin/true \
&& ln -s /tools/bin/pwd /bin/pwd
RUN check-config.sh .config
RUN unlink /lib
RUN ln -s /tools/lib /lib
RUN make -j $(($(nproc) / 2))
RUN cp arch/x86/boot/bzImage /tmp/vmlinuz
FROM scratch
COPY --from={{ .Docker.CurrentStage }} /tmp /tmp

File diff suppressed because it is too large Load Diff

View File

@ -32,9 +32,9 @@ tasks:
RUN curl -o {{ index .Variables "rootfs" }}/etc/ssl/certs/ca-certificates.crt https://curl.haxx.se/ca/cacert.pem
cleanup:
template: |
COPY src/cleanup.sh /tools/bin
RUN chmod +x /tools/bin/cleanup.sh
RUN /tools/bin/cleanup.sh {{ index .Variables "rootfs" }}
COPY src/cleanup.sh /toolchain/bin
RUN chmod +x /toolchain/bin/cleanup.sh
RUN /toolchain/bin/cleanup.sh {{ index .Variables "rootfs" }}
containerd:
template: |
RUN curl -L {{ index .Variables "srcContainerd" }} | tar --strip-components=1 -xz -C {{ index .Variables "rootfs" }}/bin
@ -44,14 +44,14 @@ tasks:
RUN curl -L {{ index .Variables "srcCRITools" }} | tar -xz -C {{ index .Variables "rootfs" }}/bin
libblkid:
template: |
RUN cp /tools/lib/libblkid.* {{ index .Variables "rootfs" }}/lib
RUN cp /toolchain/lib/libblkid.* {{ index .Variables "rootfs" }}/lib
libuuid:
template: |
RUN cp /tools/lib/libuuid.* {{ index .Variables "rootfs" }}/lib
RUN cp /toolchain/lib/libuuid.* {{ index .Variables "rootfs" }}/lib
libseccomp:
template: |
FROM talos/tools:{{ .Docker.Image.Tag }} AS {{ .Docker.CurrentStage }}
WORKDIR /tools/usr/local/src/{{ .Docker.CurrentStage }}
FROM autonomy/toolchain:690a03a AS {{ .Docker.CurrentStage }}
WORKDIR /toolchain/usr/local/src/{{ .Docker.CurrentStage }}
RUN curl -L {{index .Variables "srcLibseccomp" }} | tar --strip-components=1 -xz
WORKDIR build
RUN ../configure \
@ -70,10 +70,9 @@ tasks:
RUN ./hack/test.sh --lint ./hack/golangci-lint.yaml
udevd:
template: |
FROM talos/tools:{{ .Docker.Image.Tag }} AS {{ .Docker.CurrentStage }}
RUN ln -s /tools/lib64 /lib64
FROM autonomy/toolchain:690a03a AS {{ .Docker.CurrentStage }}
RUN mkdir -p /etc/ssl/certs
RUN ln -s /tools/etc/ssl/certs/ca-certificates /etc/ssl/certs/ca-certificates
RUN ln -s /toolchain/etc/ssl/certs/ca-certificates /etc/ssl/certs/ca-certificates
RUN curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | bash -s -- -b $GOPATH/bin v1.10.1
ENV GO111MODULE auto
WORKDIR /src/github.com/autonomy/talos/src/rootfs/udevd

View File

@ -3,7 +3,7 @@
function remove_symlinks() {
set +e
for l in $(find ${PREFIX} -type l); do
readlink $l | grep -q /tools
readlink $l | grep -q /toolchain
if [ $? == 0 ]; then
echo "Unlinking $l"
unlink $l
@ -44,12 +44,15 @@ rm -rf \
${PREFIX}/bin/scmp_sys_resolver \
${PREFIX}/bin/catchsegv \
${PREFIX}/lib/gconv/ \
${PREFIX}/include/* \
${PREFIX}/share/* \
${PREFIX}/usr/include/* \
${PREFIX}/usr/share/* \
${PREFIX}/usr/libexec/getconf
${PREFIX}/usr/libexec/getconf \
${PREFIX}/var/db
mkdir -p /usr/share
mkdir -p /usr/local/share
mkdir -p ${PREFIX}/usr/share
mkdir -p ${PREFIX}/usr/local/share
paths=( /etc/pki /usr/share/ca-certificates /usr/local/share/ca-certificates /etc/ca-certificates )
for d in "${paths[@]}"; do

View File

@ -1,926 +0,0 @@
metadata:
repository: talos/tools
variables:
rootfs: /rootfs
srcAutoconf: https://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.xz
srcBash: https://ftp.gnu.org/gnu/bash/bash-4.4.12.tar.gz
srcBc: https://ftp.gnu.org/gnu/bc/bc-1.07.1.tar.gz
srcBinutils: https://ftp.gnu.org/gnu/binutils/binutils-2.29.1.tar.xz
srcBison: https://ftp.gnu.org/gnu/bison/bison-3.0.4.tar.xz
srcBzip2: https://fossies.org/linux/misc/bzip2-1.0.6.tar.gz
srcCheck: https://github.com/libcheck/check/releases/download/0.12.0/check-0.12.0.tar.gz
srcCoreutils: https://ftp.gnu.org/gnu/coreutils/coreutils-8.27.tar.xz
srcCPIO: https://ftp.gnu.org/gnu/cpio/cpio-2.12.tar.gz
srcCurl: https://curl.haxx.se/download/curl-7.56.1.tar.xz
srcDejagnu: https://ftp.gnu.org/gnu/dejagnu/dejagnu-1.6.1.tar.gz
srcDiffutils: https://ftp.gnu.org/gnu/diffutils/diffutils-3.6.tar.xz
srcEd: https://ftp.gnu.org/gnu/ed/ed-1.14.2.tar.lz
srcElfutils: https://sourceware.org/ftp/elfutils/0.170/elfutils-0.170.tar.bz2
srcExpat: https://github.com/libexpat/libexpat/releases/download/R_2_2_5/expat-2.2.5.tar.bz2
srcExpect: https://downloads.sourceforge.net/expect/expect5.45.3.tar.gz
srcFile: ftp://ftp.astron.com/pub/file/file-5.32.tar.gz
srcFindutils: https://ftp.gnu.org/gnu/findutils/findutils-4.6.0.tar.gz
srcFlex: https://github.com/westes/flex/releases/download/v2.6.4/flex-2.6.4.tar.gz
srcGawk: https://ftp.gnu.org/gnu/gawk/gawk-4.2.0.tar.xz
srcGcc: https://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.xz
srcGdbm: https://ftp.gnu.org/gnu/gdbm/gdbm-1.13.tar.gz
srcGettext: https://ftp.gnu.org/gnu/gettext/gettext-0.19.8.1.tar.xz
srcGit: https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.16.2.tar.xz
srcGlibc: https://ftp.gnu.org/gnu/glibc/glibc-2.26.tar.xz
srcGmp: https://ftp.gnu.org/gnu/gmp/gmp-6.1.2.tar.xz
srcGo: https://dl.google.com/go/go1.11.1.linux-amd64.tar.gz
srcGperf: https://ftp.gnu.org/gnu/gperf/gperf-3.0.4.tar.gz
srcGrep: https://ftp.gnu.org/gnu/grep/grep-3.1.tar.xz
srcGzip: https://ftp.gnu.org/gnu/gzip/gzip-1.8.tar.xz
srcIntltool: https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz
srcKmod: https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-25.tar.xz
srcLibcap: https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.25.tar.xz
srcLibffi: ftp://sourceware.org/pub/libffi/libffi-3.2.1.tar.gz
srcLinux: https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.1.tar.xz
srcLzip: https://download.savannah.gnu.org/releases/lzip/lzip-1.20.tar.gz
srcM4: https://ftp.gnu.org/gnu/m4/m4-1.4.18.tar.xz
srcMake: https://ftp.gnu.org/gnu/make/make-4.2.1.tar.gz
srcMpc: https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
srcMpfr: https://ftp.gnu.org/gnu/mpfr/mpfr-3.1.6.tar.xz
srcNcurses: https://ftp.gnu.org/gnu//ncurses/ncurses-6.0.tar.gz
srcOpenssl: https://www.openssl.org/source/openssl-1.1.0g.tar.gz
srcPatch: https://ftp.gnu.org/gnu/patch/patch-2.7.5.tar.xz
srcPerl: https://www.cpan.org/src/5.0/perl-5.26.1.tar.xz
srcPkgconfig: https://pkg-config.freedesktop.org/releases/pkg-config-0.29.2.tar.gz
srcPython: https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz
srcSed: https://ftp.gnu.org/gnu/sed/sed-4.4.tar.xz
srcTar: https://ftp.gnu.org/gnu/tar/tar-1.29.tar.xz
srcTcl: https://sourceforge.net/projects/tcl/files/Tcl/8.6.7/tcl-core8.6.7-src.tar.gz
srcTexinfo: https://ftp.gnu.org/gnu/texinfo/texinfo-6.5.tar.xz
srcUtilLinux: https://www.kernel.org/pub/linux/utils/util-linux/v2.31/util-linux-2.31.tar.xz
srcXmlParser: https://cpan.metacpan.org/authors/id/T/TO/TODDR/XML-Parser-2.44.tar.gz
srcXz: https://github.com/xz-mirror/xz/releases/download/v5.2.2/xz-5.2.2.tar.xz
srcZlib: https://zlib.net/zlib-1.2.11.tar.xz
pipeline:
stages:
- toolchain-phase-1
- toolchain-phase-2
- toolchain
- test-suite-phase-1
- test-suite
- tools-phase-1
- tools-phase-2
- tools-phase-3
- tools-phase-4
- tools
stages:
test-suite:
tasks:
- test-suite
test-suite-phase-1:
tasks:
- tcl
- expect
- dejagnu
- check
toolchain:
tasks:
- toolchain
toolchain-phase-1:
tasks:
- toolchain-phase-1
toolchain-phase-2:
tasks:
- binutils-pass-1
- gcc-pass-1
- linux-headers
- glibc
- libstdcpp
- binutils-pass-2
- gcc-pass-2
tools:
tasks:
- tools
tools-phase-1:
tasks:
- ncurses
- bash
- bzip2
- coreutils
- diffutils
- file
- findutils
- gawk
- gettext
- grep
- gzip
tools-phase-2:
tasks:
- m4
- lzip
- ed
- texinfo
- bc
- bison
- make
- patch
- perl
- sed
- tar
- util-linux
tools-phase-3:
tasks:
- xz
- libffi
- gmp
- mpfr
- mpc
- expat
- gdbm
- zlib
- python
- openssl
- curl
- gperf
- libcap
- xml-parser
- intltool
- pkgconfig
- elfutils
tools-phase-4:
tasks:
- flex
- kmod
- autoconf
- git
- cpio
- golang
tasks:
autoconf:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl {{ index .Variables "srcAutoconf" }} | tar --strip-components=1 -xJ
WORKDIR build
RUN ../configure \
--prefix=$PREFIX
RUN make -j $(($(nproc) / 2))
RUN make install
bash:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl {{ index .Variables "srcBash" }} | tar --strip-components=1 -xz
WORKDIR build
RUN ../configure \
--prefix=$PREFIX \
--without-bash-malloc
RUN make -j $(($(nproc) / 2))
RUN make install
RUN ln -sv bash $PREFIX/bin/sh
bc:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl {{ index .Variables "srcBc" }} | tar --strip-components=1 -xz
WORKDIR build
RUN ../configure --prefix=$PREFIX \
--with-readline \
--mandir=$PREFIX/share/man \
--infodir=$PREFIX/share/info
RUN make -j $(($(nproc) / 2))
RUN make install
binutils-pass-1:
template: |
FROM {{ .Repository }}:toolchain-phase-1
WORKDIR $SRC/{{ .Docker.CurrentStage }}/build
RUN curl {{ index .Variables "srcBinutils" }} | tar --strip-components=1 -xJ
WORKDIR build
RUN ../configure \
--prefix=$PREFIX \
--with-sysroot=$SYSROOT \
--with-lib-path=$PREFIX/lib \
--target=$TARGET \
--disable-nls \
--disable-werror
RUN make -j $(($(nproc) / 2))
RUN make install
binutils-pass-2:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl {{ index .Variables "srcBinutils" }} | tar --strip-components=1 -xJ
WORKDIR build
RUN CC=$TARGET-gcc \
AR=$TARGET-ar \
RANLIB=$TARGET-ranlib \
../configure \
--prefix=$PREFIX \
--disable-nls \
--disable-werror \
--with-lib-path=$PREFIX/lib \
--with-sysroot=$SYSROOT
RUN make -j $(($(nproc) / 2))
RUN make install
RUN make -C ld clean \
&& make -C ld LIB_PATH=/usr/lib:/lib \
&& cp -v ld/ld-new $PREFIX/bin
bison:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl {{ index .Variables "srcBison" }} | tar --strip-components=1 -xJ
WORKDIR build
RUN FORCE_UNSAFE_CONFIGURE=1 \
../configure \
--prefix=$PREFIX
RUN make -j $(($(nproc) / 2))
RUN make install
bzip2:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcBzip2" }} | tar --strip-components=1 -xz
RUN sed -i 's@\(ln -s -f \)$(PREFIX)/bin/@\1@' Makefile
RUN make -j $(($(nproc) / 2)) -f Makefile-libbz2_so
RUN make -j $(($(nproc) / 2)) clean
RUN make -j $(($(nproc) / 2))
RUN make PREFIX=$PREFIX install
RUN cp -v bzip2-shared $PREFIX/bin/bzip2 \
&& cp -av libbz2.so* $PREFIX/lib \
&& mkdir -p $PREFIX/usr/lib \
&& ln -sv ../../lib/libbz2.so.1.0 $PREFIX/lib/libbz2.so \
&& rm -v $PREFIX/bin/bunzip2 \
&& rm -v $PREFIX/bin/bzcat \
&& ln -sv bzip2 $PREFIX/bin/bunzip2 \
&& ln -sv bzip2 $PREFIX/bin/bzcat
check:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcCheck" }} | tar --strip-components=1 -xz
WORKDIR build
RUN PKG_CONFIG= ../configure \
--prefix=$PREFIX
RUN make -j $(($(nproc) / 2))
RUN make install
coreutils:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcCoreutils" }} | tar --strip-components=1 -xJ
WORKDIR build
RUN FORCE_UNSAFE_CONFIGURE=1 \
../configure \
--prefix=$PREFIX \
--enable-install-program=hostname
RUN make -j $(($(nproc) / 2))
RUN make install
cpio:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcCPIO" }} | tar --strip-components=1 -xz
WORKDIR build
RUN ../configure \
--prefix=$PREFIX
RUN make
RUN make install
curl:
template: |
RUN mkdir -p /tools/etc/ssl/certs
RUN curl https://curl.haxx.se/ca/cacert.pem -o /tools/etc/ssl/certs/ca-certificates
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl {{ index .Variables "srcCurl" }} | tar --strip-components=1 -xJ
WORKDIR build
RUN ../configure \
--prefix=$PREFIX \
--disable-static \
--enable-threaded-resolver \
--with-ca-bundle=/tools/etc/ssl/certs/ca-certificates
RUN make -j $(($(nproc) / 2))
RUN make install
dejagnu:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl {{ index .Variables "srcDejagnu" }} | tar --strip-components=1 -xz
WORKDIR build
RUN ../configure \
--prefix=$PREFIX
RUN make install
diffutils:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcDiffutils" }} | tar --strip-components=1 -xJ
WORKDIR build
RUN ../configure \
--prefix=$PREFIX
RUN make -j $(($(nproc) / 2))
RUN make install
ed:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl {{ index .Variables "srcEd" }} | tar --strip-components=1 -x --lzip
WORKDIR build
RUN ../configure --prefix=$PREFIX \
--bindir=/bin
RUN make -j $(($(nproc) / 2))
RUN make install
elfutils:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl {{ index .Variables "srcElfutils" }} | tar --strip-components=1 -xj
WORKDIR build
RUN ../configure \
--prefix=$PREFIX \
--without-bzlib
RUN make -j $(($(nproc) / 2))
RUN make install
expat:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcExpat" }} | tar --strip-components=1 -xj
WORKDIR build
RUN ../configure \
--prefix=$PREFIX \
--disable-static
RUN make -j $(($(nproc) / 2))
RUN make install
expect:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcExpect" }} | tar --strip-components=1 -xz
RUN cp -v configure configure.orig \
&& sed 's:/usr/local/bin:/bin:' configure.orig > configure
WORKDIR build
RUN ../configure \
--prefix=$PREFIX \
--with-tcl=$PREFIX/lib \
--with-tclinclude=$PREFIX/include
RUN make -j $(($(nproc) / 2))
RUN make SCRIPTS="" install
file:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcFile" }} | tar --strip-components=1 -xz
WORKDIR build
RUN ../configure \
--prefix=$PREFIX
RUN make -j $(($(nproc) / 2))
RUN make install
findutils:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcFindutils" }} | tar --strip-components=1 -xz
WORKDIR build
RUN ../configure \
--prefix=$PREFIX
RUN make -j $(($(nproc) / 2))
RUN make install
flex:
template: |
FROM {{ .Repository }}:test-suite
COPY --from={{ .Repository }}:tools-phase-3 /tools /tools
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcFlex" }} | tar --strip-components=1 -xz
WORKDIR build
RUN sed -i "/math.h/a #include <malloc.h>" ../src/flexdef.h
RUN ../configure --prefix=$PREFIX
RUN make -j $(($(nproc) / 2))
RUN make install
RUN mkdir -p $PREFIX/usr/bin && ln -sv flex $PREFIX/usr/bin/lex
gawk:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcGawk" }} | tar --strip-components=1 -xJ
WORKDIR build
RUN ../configure \
--prefix=$PREFIX
RUN make -j $(($(nproc) / 2))
RUN make install
gcc-pass-1:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl {{ index .Variables "srcGcc" }} | tar --strip-components=1 -xJ \
&& mkdir mpfr && curl {{ index .Variables "srcMpfr" }} | tar -xJ --strip-components=1 -C mpfr \
&& mkdir gmp && curl {{ index .Variables "srcGmp" }} | tar -xJ --strip-components=1 -C gmp \
&& mkdir mpc && curl {{ index .Variables "srcMpc" }} | tar -xz --strip-components=1 -C mpc
COPY src/gcc/setup.sh /bin/
RUN chmod +x /bin/setup.sh \
&& setup.sh
WORKDIR build
RUN ../configure \
--target=$TARGET \
--prefix=$PREFIX \
--with-glibc-version=2.26 \
--with-sysroot=$SYSROOT \
--with-newlib \
--without-headers \
--with-local-prefix=$PREFIX \
--with-native-system-header-dir=$PREFIX/include \
--disable-nls \
--disable-shared \
--disable-multilib \
--disable-decimal-float \
--disable-threads \
--disable-libatomic \
--disable-libgomp \
--disable-libmpx \
--disable-libquadmath \
--disable-libssp \
--disable-libvtv \
--disable-libstdcxx \
--enable-languages=c,c++
RUN make -j $(($(nproc) / 2))
RUN make install
gcc-pass-2:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl {{ index .Variables "srcGcc" }} | tar --strip-components=1 -xJ \
&& mkdir mpfr && curl {{ index .Variables "srcMpfr" }} | tar -xJ --strip-components=1 -C mpfr \
&& mkdir gmp && curl {{ index .Variables "srcGmp" }} | tar -xJ --strip-components=1 -C gmp \
&& mkdir mpc && curl {{ index .Variables "srcMpc" }} | tar -xz --strip-components=1 -C mpc
RUN cat gcc/limitx.h gcc/glimits.h gcc/limity.h > `dirname $($TARGET-gcc -print-libgcc-file-name)`/include-fixed/limits.h
COPY --chown=1000 src/gcc/setup.sh /bin/
RUN chmod +x /bin/setup.sh \
&& setup.sh
WORKDIR build
RUN CC=$TARGET-gcc \
CXX=$TARGET-g++ \
AR=$TARGET-ar \
RANLIB=$TARGET-ranlib \
../configure \
--prefix=$PREFIX \
--with-local-prefix=$PREFIX \
--with-native-system-header-dir=$PREFIX/include \
--enable-languages=c,c++ \
--disable-libstdcxx-pch \
--disable-multilib \
--disable-bootstrap \
--disable-libgomp
RUN make -j $(($(nproc) / 2))
RUN make install
RUN ln -sv gcc $PREFIX/bin/cc \
&& echo 'int main(){}' > dummy.c \
&& cc dummy.c \
&& readelf -l a.out | grep "$PREFIX"
gdbm:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcGdbm" }} | tar --strip-components=1 -xz
WORKDIR build
RUN ../configure \
--prefix=$PREFIX \
--disable-static \
--enable-libgdbm-compat
RUN make -j $(($(nproc) / 2))
RUN make install
gettext:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcGettext" }} | tar --strip-components=1 -xJ
RUN cd gettext-tools \
&& EMACS="no" \
./configure \
--prefix=$PREFIX \
--disable-shared
RUN cd gettext-tools \
&& make -C gnulib-lib \
&& make -C intl pluralx.c \
&& make -C src msgfmt \
&& make -C src msgmerge \
&& make -C src xgettext
RUN cd gettext-tools \
&& cp -v src/msgfmt src/msgmerge src/xgettext /tools/bin
git:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl {{index .Variables "srcGit" }} | tar --strip-components=1 -xJ
RUN make configure
RUN ./configure \
--prefix=$PREFIX
RUN make -j $(($(nproc) / 2))
RUN make install
glibc:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl {{index .Variables "srcGlibc" }} | tar --strip-components=1 -xJ
WORKDIR build
RUN ../configure \
--prefix=$PREFIX \
--host=$TARGET \
--build=$(../scripts/config.guess) \
--enable-kernel=4.9 \
--with-headers=$PREFIX/include \
--enable-obsolete-nsl \
libc_cv_forced_unwind=yes \
libc_cv_c_cleanup=yes
RUN make -j $(($(nproc) / 2))
RUN make install
RUN echo 'int main(){}' > dummy.c
RUN $TARGET-gcc dummy.c
RUN readelf -l a.out | grep "$PREFIX"
RUN rm -v dummy.c a.out
gmp:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl {{ index .Variables "srcGmp" }} | tar --strip-components=1 -xJ
WORKDIR build
RUN ../configure \
--prefix=$PREFIX \
--enable-cxx \
--disable-static
RUN make -j $(($(nproc) / 2))
RUN make install
golang:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
WORKDIR /tools/usr/local
RUN curl -L {{ index .Variables "srcGo" }} | tar -xz
gperf:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcGperf" }} | tar --strip-components=1 -xz
WORKDIR build
RUN ../configure \
--prefix=$PREFIX
RUN make -j $(($(nproc) / 2))
RUN make install
grep:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcGrep" }} | tar --strip-components=1 -xJ
WORKDIR build
RUN ../configure \
--prefix=$PREFIX
RUN make -j $(($(nproc) / 2))
RUN make install
gzip:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcGzip" }} | tar --strip-components=1 -xJ
WORKDIR build
RUN ../configure \
--prefix=$PREFIX
RUN make -j $(($(nproc) / 2))
RUN make install
intltool:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcIntltool" }} | tar --strip-components=1 -xz
WORKDIR build
RUN ../configure --prefix=$PREFIX
RUN make -j $(($(nproc) / 2))
RUN make install
kmod:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcKmod" }} | tar --strip-components=1 -xJ
RUN ./configure \
--prefix=$PREFIX
RUN make -j $(($(nproc) / 2))
RUN make install
RUN for target in depmod insmod modinfo modprobe rmmod; do ln -s ../bin/kmod $PREFIX/bin/$target; done
libcap:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcLibcap" }} | tar --strip-components=1 -xJ
RUN sed -i '/install.*STALIBNAME/d' libcap/Makefile
RUN make -j $(($(nproc) / 2))
RUN make RAISE_SETFCAP=no lib=lib prefix=$PREFIX install
libffi:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl {{ index .Variables "srcLibffi" }} | tar --strip-components=1 -xz
RUN sed -e '/^includesdir/ s/$(libdir).*$/$(includedir)/' -i include/Makefile.in
RUN sed -e '/^includedir/ s/=.*$/=@includedir@/' -e 's/^Cflags: -I${includedir}/Cflags:/' -i libffi.pc.in
WORKDIR build
RUN ../configure \
--prefix=$PREFIX \
--disable-static
RUN make -j $(($(nproc) / 2))
RUN make install
libstdcpp:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl {{ index .Variables "srcGcc" }} | tar --strip-components=1 -xJ
WORKDIR build
RUN ../libstdc++-v3/configure \
--host=$TARGET \
--prefix=$PREFIX \
--disable-multilib \
--disable-nls \
--disable-libstdcxx-threads \
--disable-libstdcxx-pch \
--with-gxx-include-dir=$PREFIX/$TARGET/include/c++/7.3.0
RUN make -j $(($(nproc) / 2))
RUN make install
linux-headers:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl {{ index .Variables "srcLinux" }} | tar --strip-components=1 -xJ
RUN make mrproper
RUN make INSTALL_HDR_PATH=dest headers_install
RUN cp -rv dest/include/* $PREFIX/include
lzip:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcLzip" }} | tar --strip-components=1 -xz
WORKDIR build
RUN ../configure --prefix=$PREFIX
RUN make -j $(($(nproc) / 2))
RUN make install
m4:
template: |
FROM {{ .Repository }}:test-suite
COPY --from={{ .Repository }}:tools-phase-1 /tools /tools
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcM4" }} | tar --strip-components=1 -xJ
WORKDIR build
RUN ../configure \
--prefix=$PREFIX
RUN make -j $(($(nproc) / 2))
RUN make install
make:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl {{ index .Variables "srcMake" }} | tar --strip-components=1 -xz
WORKDIR build
RUN ../configure \
--prefix=$PREFIX \
--without-guile
RUN make -j $(($(nproc) / 2))
RUN make install
mpc:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl {{ index .Variables "srcMpc" }} | tar --strip-components=1 -xz
WORKDIR build
RUN ../configure \
--prefix=$PREFIX \
--disable-static
RUN make -j $(($(nproc) / 2))
RUN make install
mpfr:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl {{ index .Variables "srcMpfr" }} | tar --strip-components=1 -xJ
WORKDIR build
RUN ../configure \
--prefix=$PREFIX \
--disable-static \
--enable-thread-safe
RUN make -j $(($(nproc) / 2))
RUN make install
ncurses:
template: |
FROM {{ .Repository }}:test-suite
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcNcurses" }} | tar --strip-components=1 -xz
RUN sed -i s/mawk// configure
WORKDIR build
RUN ../configure \
--prefix=$PREFIX \
--with-shared \
--without-debug \
--without-ada \
--enable-widec \
--enable-overwrite
RUN make -j $(($(nproc) / 2))
RUN make install
openssl:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl {{ index .Variables "srcOpenssl" }} | tar --strip-components=1 -xz
WORKDIR build
RUN ../config \
--prefix=$PREFIX \
--openssldir=$PREFIX \
--libdir=lib \
shared \
zlib-dynamic
RUN make -j $(($(nproc) / 2))
RUN make install
patch:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcPatch" }} | tar --strip-components=1 -xJ
WORKDIR build
RUN ../configure \
--prefix=$PREFIX
RUN make -j $(($(nproc) / 2))
RUN make install
perl:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcPerl" }} | tar --strip-components=1 -xJ
RUN sh Configure \
-des \
-Dprefix=$PREFIX \
-Dvendorprefix=$PREFIX \
-Duseshrplib \
-Dlibs="-lm -ldl" \
-Dusedl \
-Ddlsrc="dl_dlopen.xs"
RUN make -j $(($(nproc) / 2))
RUN make install
pkgconfig:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcPkgconfig" }} | tar --strip-components=1 -xz
WORKDIR build
RUN ../configure --prefix=$PREFIX \
--with-internal-glib \
--disable-host-too
RUN make -j $(($(nproc) / 2))
RUN make install
RUN ln -fs /tools/bin/bash /bin/sh
python:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcPython" }} | tar --strip-components=1 -xJ
WORKDIR build
RUN echo ac_cv_file__dev_ptmx=no >config.site
RUN echo ac_cv_file__dev_ptc=no >>config.site
RUN apt-get update -y
RUN apt-get install -y python3
RUN ln -s /usr/bin/python3 /usr/bin/python
RUN rm -rf /usr/include
RUN CONFIG_SITE=config.site \
../configure \
--prefix=$PREFIX \
--enable-shared \
--host=$TARGET \
--build=$ARCH \
--target=$TARGET \
--disable-ipv6 \
--with-tcltk-includes="-I$PREFIX/include" \
--with-tcltk-libs="-I$PREFIX/lib" \
--without-ensurepip
RUN sed -i 's/^#zlib/zlib/' Modules/Setup
RUN make -j $(($(nproc) / 2))
RUN make install
sed:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcSed" }} | tar --strip-components=1 -xJ
WORKDIR build
RUN ../configure \
--prefix=$PREFIX
RUN make -j $(($(nproc) / 2))
RUN make install
tar:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcTar" }} | tar --strip-components=1 -xJ
WORKDIR build
RUN FORCE_UNSAFE_CONFIGURE=1 \
../configure \
--prefix=$PREFIX
RUN make -j $(($(nproc) / 2))
RUN make install
tcl:
template: |
FROM {{ .Repository }}:toolchain
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcTcl" }} | tar --strip-components=1 -xz
WORKDIR build
RUN ../unix/configure --prefix=$PREFIX
RUN make -j $(($(nproc) / 2))
RUN make install
RUN chmod -v u+w $PREFIX/lib/libtcl8.6.so \
&& make install-private-headers \
&& ln -sv tclsh8.6 $PREFIX/bin/tclsh
test-suite:
template: |
FROM {{ .Repository }}:toolchain-phase-1
COPY --from={{ .Repository }}:test-suite-phase-1 /tools /tools
texinfo:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcTexinfo" }} | tar --strip-components=1 -xJ
WORKDIR build
RUN ../configure \
--prefix=$PREFIX
RUN make -j $(($(nproc) / 2))
RUN make install
toolchain:
template: |
FROM {{ .Repository }}:toolchain-phase-1
COPY --from={{ .Repository }}:toolchain-phase-2 /tools /tools
toolchain-phase-1:
template: |
FROM debian:buster-20180213
RUN apt-get -y update \
&& apt-get -y install --no-install-recommends \
build-essential \
curl \
ca-certificates \
gawk \
m4 \
xz-utils
ENV ARCH x86_64
ENV SYS linux
ENV VENDOR talos
ENV SYSROOT /mnt/$VENDOR
ENV PREFIX /tools
ENV TARGET $ARCH-$VENDOR-$SYS-gnu
ENV SRC /usr/local/src
ENV PATH $PREFIX/bin:$PATH
RUN mkdir -p $SYSROOT$PREFIX
RUN ln -s $SYSROOT$PREFIX $PREFIX
RUN mkdir -p $PREFIX/lib
RUN ln -s lib $PREFIX/lib64
WORKDIR $SRC
tools:
template: |
FROM scratch as {{ .Docker.CurrentStage }}
COPY --from={{ .Repository }}:tools-phase-4 /tools /tools
ENV PATH /tools/bin
RUN [ "/tools/bin/bash", "-c", "strip --strip-debug /tools/lib/* || true" ]
RUN [ "/tools/bin/bash", "-c", "strip --strip-unneeded /tools/bin/* /tools/sbin/* || true" ]
RUN [ "/tools/bin/bash", "-c", "rm -rf /tools/share/info /tools/share/man /tools/share/doc" ]
FROM scratch
COPY --from={{ .Docker.CurrentStage }} /tools /tools
ENV GOROOT /tools/usr/local/go
ENV GOPATH /tools/go
ENV PATH /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/tools/bin
ENV PATH $PATH:$GOROOT/bin:$GOPATH/bin
RUN [ "mkdir", "/tools/go" ]
RUN [ "mkdir", "/bin" ]
RUN [ "ln", "-s", "/tools/bin/bash", "/bin/sh" ]
RUN [ "ln", "-s", "/tools/bin/bash", "/bin/bash" ]
ENV PATH $PATH:/tools/bin
WORKDIR {{ index .Variables "rootfs" }}
COPY src/fsh.sh /tools/bin
RUN chmod +x /tools/bin/fsh.sh
RUN fsh.sh {{ index .Variables "rootfs" }}
# WORKDIR $PREFIX/$SRC/{{ .Docker.CurrentStage }}
WORKDIR /tools/usr/local/src/{{ .Docker.CurrentStage }}
RUN curl -L {{index .Variables "srcGlibc" }} | tar --strip-components=1 -xJ
RUN ln -sfv /tools/lib/gcc /usr/lib
# Required by makeinfo
RUN ln -sv /tools/bin/perl /usr/bin/perl
WORKDIR build
RUN CC="gcc -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include -isystem /usr/include" \
../configure \
--prefix=/usr \
--disable-static \
--disable-werror \
--enable-kernel=4.9 \
--enable-stack-protector=strong \
libc_cv_slibdir=/lib
RUN make -j $(($(nproc) / 2))
# RUN make check || true
RUN sed '/test-installation/s@$(PERL)@echo not running@' -i ../Makefile
RUN make install DESTDIR={{ index .Variables "rootfs" }}
RUN mkdir {{ index .Variables "rootfs" }}/usr/lib/locale
RUN localedef -i en_US -f UTF-8 en_US.UTF-8
RUN mkdir p {{ index .Variables "rootfs" }}/etc/default
RUN echo LC_ALL="en_US.UTF-8" >{{ index .Variables "rootfs" }}/etc/default/locale
RUN ln -sfv /tools/lib/libgcc_s.so{,.1} /usr/lib
RUN mv -v /tools/bin/{ld,ld-old}
RUN mv -v /tools/$(uname -m)-pc-linux-gnu/bin/{ld,ld-old}
RUN mv -v /tools/bin/{ld-new,ld}
RUN ln -sv /tools/bin/ld /tools/$(uname -m)-pc-linux-gnu/bin/ld
RUN gcc -dumpspecs | sed -e 's@/tools@@g' \
-e '/\*startfile_prefix_spec:/{n;s@.*@/usr/lib/ @}' \
-e '/\*cpp:/{n;s@$@ -isystem /usr/include@}' > \
`dirname $(gcc --print-libgcc-file-name)`/specs
RUN echo 'int main(){}' > dummy.c
RUN cc dummy.c -v -Wl,--verbose &> dummy.log
RUN readelf -l a.out | grep ': /lib'
RUN grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log
RUN grep -B1 '^ /usr/include' dummy.log
RUN grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g'
RUN grep "/lib.*/libc.so.6 " dummy.log
RUN grep found dummy.log
RUN rm -v dummy.c a.out dummy.log
util-linux:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcUtilLinux" }} | tar --strip-components=1 -xJ
WORKDIR build
RUN PKG_CONFIG="" \
../configure \
--prefix=$PREFIX \
--without-python \
--disable-makeinstall-chown \
--without-systemdsystemunitdir \
--without-ncurses
RUN make -j $(($(nproc) / 2))
RUN make install
RUN cp -R ../include $PREFIX/include/util-linux
xml-parser:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcXmlParser" }} | tar --strip-components=1 -xz
RUN perl Makefile.PL EXPATINCPATH=$PREFIX/include EXPATLIBPATH=$PREFIX/lib
RUN make -j $(($(nproc) / 2))
RUN make install
xz:
template: |
FROM {{ .Repository }}:test-suite
COPY --from={{ .Repository }}:tools-phase-2 /tools /tools
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl -L {{ index .Variables "srcXz" }} | tar --strip-components=1 -xJ
WORKDIR build
RUN ../configure \
--prefix=$PREFIX
RUN make -j $(($(nproc) / 2))
RUN make install
zlib:
template: |
WORKDIR $SRC/{{ .Docker.CurrentStage }}
RUN curl {{ index .Variables "srcZlib" }} | tar --strip-components=1 -xJ
WORKDIR build
RUN ../configure \
--prefix=$PREFIX
RUN make -j $(($(nproc) / 2))
RUN make install

View File

@ -1,44 +0,0 @@
#!/bin/bash
PREFIX="${1}"
set -e
rm -rf /bin
mkdir -pv ${PREFIX}/{dev,etc,lib,opt,proc,sys}
mkdir -pv ${PREFIX}/bin
ln -sv /bin $PREFIX/sbin
# Required by glibc (looks for interpreter here)
ln -sv /lib $PREFIX/lib64
mkdir -pv ${PREFIX}/usr/{include,}
ln -sv /bin ${PREFIX}/usr/bin
ln -sv /bin ${PREFIX}/usr/sbin
ln -sv /lib ${PREFIX}/usr/lib
ln -sv /var ${PREFIX}/usr/var
mkdir -pv ${PREFIX}/usr/local
ln -sv /bin ${PREFIX}/usr/local/bin
ln -sv /bin ${PREFIX}/usr/local/sbin
ln -sv /lib ${PREFIX}/usr/local/lib
ln -sv /usr/include ${PREFIX}/usr/local/include
mkdir -pv ${PREFIX}/run
mkdir -pv ${PREFIX}/var/{log,mail,spool}
ln -sv /run $PREFIX/var/run
install -dv -m 0750 ${PREFIX}/root
install -dv -m 1777 ${PREFIX}/tmp ${PREFIX}/var/tmp
for d in ${PREFIX}/*; do
_d=/$(basename $d)
if [[ ! -d $_d ]]; then
echo $_d
ln -sv $d $_d
fi
done
# Required by Docker
ln -sv /tools/bin/bash /bin/sh
ln -sv /tools/bin/bash /bin/bash

View File

@ -1,16 +0,0 @@
#!/bin/bash
for file in gcc/config/{linux,i386/linux{,64}}.h
do
cp -uv $file{,.orig}
sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \
-e 's@/usr@/tools@g' $file.orig > $file
echo '
#undef STANDARD_STARTFILE_PREFIX_1
#undef STANDARD_STARTFILE_PREFIX_2
#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"
#define STANDARD_STARTFILE_PREFIX_2 ""' >> $file
touch $file.orig
done
sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64