浏览代码

Introduce Ubuntu 20.04 in more places

master
Ray Burgemeestre 4 年前
父节点
当前提交
64f83900ec
共有 7 个文件被更改,包括 126 次插入22 次删除
  1. +37
    -5
      allegro5/Makefile
  2. +18
    -3
      apt-publisher/Makefile
  3. +17
    -3
      boost/Makefile
  4. +19
    -3
      fastpfor/Makefile
  5. +18
    -6
      ffmpeg/Makefile
  6. +1
    -1
      fpm/Dockerfile-ubuntu2004
  7. +16
    -1
      v8pp/Makefile

+ 37
- 5
allegro5/Makefile 查看文件

SHELL:=/bin/bash SHELL:=/bin/bash


allegro5_:
ubuntu1804:
git clone https://github.com/liballeg/allegro5.git git clone https://github.com/liballeg/allegro5.git
pushd allegro5 && git checkout 5.2.5.0 pushd allegro5 && git checkout 5.2.5.0
bash ../ubuntu1804.sh make impl bash ../ubuntu1804.sh make impl
make package
make package-ubuntu1804
bash ../ubuntu1804.sh make impl_sdl bash ../ubuntu1804.sh make impl_sdl
make package_sdl
make package_sdl-ubuntu1804

ubuntu2004:
git clone https://github.com/liballeg/allegro5.git
pushd allegro5 && git checkout 5.2.5.0
bash ../ubuntu2004.sh make impl
make package-ubuntu2004
bash ../ubuntu2004.sh make impl_sdl
make package_sdl-ubuntu2004


prep: prep:
apt-get update apt-get update
make install && \ make install && \
cp -prv lib/pkgconfig/allegro* /usr/share/pkgconfig/ cp -prv lib/pkgconfig/allegro* /usr/share/pkgconfig/


package:
package-ubuntu1804:
rm -rf out rm -rf out
mkdir -p out/opt/cppse/build/allegro5/ mkdir -p out/opt/cppse/build/allegro5/
cp -prv allegro5/allegro5_static/* out/opt/cppse/build/allegro5/ cp -prv allegro5/allegro5_static/* out/opt/cppse/build/allegro5/
rm -rf allegro5_*_amd64.deb rm -rf allegro5_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n allegro5 --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "allegro5 - build dependency" --url "https://github.com/liballeg/allegro5.git" --deb-generate-changes -C /src/out docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n allegro5 --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "allegro5 - build dependency" --url "https://github.com/liballeg/allegro5.git" --deb-generate-changes -C /src/out


package_sdl:
package_sdl-ubuntu1804:
rm -rf out rm -rf out
mkdir -p out/opt/cppse/build/allegro5sdl/ mkdir -p out/opt/cppse/build/allegro5sdl/
cp -prv allegro5/allegro5_static/* out/opt/cppse/build/allegro5sdl/ cp -prv allegro5/allegro5_static/* out/opt/cppse/build/allegro5sdl/
rm -rf allegro5sdl_*_amd64.deb rm -rf allegro5sdl_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n allegro5sdl --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "allegro5 - SDL version - build dependency" --url "https://github.com/liballeg/allegro5.git" --deb-generate-changes -C /src/out docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n allegro5sdl --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "allegro5 - SDL version - build dependency" --url "https://github.com/liballeg/allegro5.git" --deb-generate-changes -C /src/out


package-ubuntu2004:
rm -rf out
mkdir -p out/opt/cppse/build/allegro5/
cp -prv allegro5/allegro5_static/* out/opt/cppse/build/allegro5/
# with one exception I'm relying on internals of allegro5 for one file..
cp -prv allegro5/include/allegro5/internal/aintern_bitmap.h out/opt/cppse/build/allegro5/include/allegro5/internal/aintern_bitmap.h
# since above file also includes others, let's just sync the entire internal dir
cp -prv allegro5/include/allegro5/internal/* out/opt/cppse/build/allegro5/include/allegro5/internal/
# somewhere also platform became needed, let's pull those in as well
cp -prv allegro5/include/allegro5/platform/* out/opt/cppse/build/allegro5/include/allegro5/platform/
rm -rf allegro5_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -v 1.1 -s dir -t deb -n allegro5 --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "allegro5 - build dependency" --url "https://github.com/liballeg/allegro5.git" --deb-generate-changes -C /src/out

package_sdl-ubuntu2004:
rm -rf out
mkdir -p out/opt/cppse/build/allegro5sdl/
cp -prv allegro5/allegro5_static/* out/opt/cppse/build/allegro5sdl/
cp -prv allegro5/include/allegro5/internal/aintern_bitmap.h out/opt/cppse/build/allegro5sdl/include/allegro5/internal/aintern_bitmap.h
cp -prv allegro5/include/allegro5/internal/* out/opt/cppse/build/allegro5sdl/include/allegro5/internal/
cp -prv allegro5/include/allegro5/platform/* out/opt/cppse/build/allegro5sdl/include/allegro5/platform/
rm -rf allegro5sdl_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -v 1.1 -s dir -t deb -n allegro5sdl --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "allegro5 - SDL version - build dependency" --url "https://github.com/liballeg/allegro5.git" --deb-generate-changes -C /src/out


clean: clean:
rm -rf allegro5 rm -rf allegro5
rm -rf out rm -rf out

+ 18
- 3
apt-publisher/Makefile 查看文件

SHELL:=/bin/bash SHELL:=/bin/bash


apt:
apt-ubuntu1804:
wget $$SECRET_URL 1>/dev/null 2>/dev/null wget $$SECRET_URL 1>/dev/null 2>/dev/null
tar -zxvf *secret.tar.gz tar -zxvf *secret.tar.gz
make prepare-packages make prepare-packages
make update-packages
make update-packages-ubuntu1804

apt-ubuntu2004:
wget $$SECRET_URL 1>/dev/null 2>/dev/null
tar -zxvf *secret.tar.gz
make prepare-packages
make update-packages-ubuntu1804


prepare-packages: prepare-packages:
mkdir -p packages mkdir -p packages
# tar -czf secret.tar.gz keys gnupg # tar -czf secret.tar.gz keys gnupg
# -> Hide secret.tar.gz somewhere with a very hard to guess URL # -> Hide secret.tar.gz somewhere with a very hard to guess URL


update-packages:
update-packages-ubuntu1804:
docker pull rayburgemeestre/apt-ubuntu:18.04 docker pull rayburgemeestre/apt-ubuntu:18.04
docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:18.04 /bin/sh -c "reprepro -b /repo includedeb bionic packages/*.deb" docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:18.04 /bin/sh -c "reprepro -b /repo includedeb bionic packages/*.deb"
docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:18.04 /bin/sh -c "reprepro -b /repo list bionic" docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:18.04 /bin/sh -c "reprepro -b /repo list bionic"
# rsync to host # rsync to host
rsync --delete -raPv -e "$$SYNC_CMD_SSH" repo $$SYNC_CMD_DEST rsync --delete -raPv -e "$$SYNC_CMD_SSH" repo $$SYNC_CMD_DEST


update-packages-ubuntu2004:
docker pull rayburgemeestre/apt-ubuntu:20.04
docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:20.04 /bin/sh -c "reprepro -b /repo includedeb focal packages/*.deb"
docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:20.04 /bin/sh -c "reprepro -b /repo list focal"
# echo produce artifact for debugging
tar -czf repo.tar.gz repo
# rsync to host
rsync --delete -raPv -e "$$SYNC_CMD_SSH" repo $$SYNC_CMD_DEST

shell: shell:
docker pull rayburgemeestre/apt-ubuntu:18.04 docker pull rayburgemeestre/apt-ubuntu:18.04
docker run -i -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:18.04 /bin/bash docker run -i -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:18.04 /bin/bash

+ 17
- 3
boost/Makefile 查看文件

SHELL:=/bin/bash SHELL:=/bin/bash


boost_:
ubuntu1804:
# below URL is unreliable # below URL is unreliable
# wget "https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.bz2" # wget "https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.bz2"
#tar -xf boost_1_72_0.tar.bz2 #tar -xf boost_1_72_0.tar.bz2
git clone --branch boost-1.73.0 --recursive https://github.com/boostorg/boost git clone --branch boost-1.73.0 --recursive https://github.com/boostorg/boost
bash ../ubuntu1804.sh make impl bash ../ubuntu1804.sh make impl
make package
make package-ubuntu1804

ubuntu2004:
git clone --branch boost-1.73.0 --recursive https://github.com/boostorg/boost
bash ../ubuntu2004.sh make impl
make package-ubuntu2004


impl: impl:
update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-10 40 update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-10 40
#- type_erasure #- type_erasure
#- wave #- wave


package:
package-ubuntu1804:
rm -rf out rm -rf out
mkdir -p out/opt/cppse/build/boost/include/ mkdir -p out/opt/cppse/build/boost/include/
cp -L -prv boost/stage/lib out/opt/cppse/build/boost/ cp -L -prv boost/stage/lib out/opt/cppse/build/boost/
rm -rf boost_*_amd64.deb rm -rf boost_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n boost --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "boost - build dependency" --url "https://github.com/liballeg/boost.git" --deb-generate-changes -C /src/out docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n boost --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "boost - build dependency" --url "https://github.com/liballeg/boost.git" --deb-generate-changes -C /src/out


package-ubuntu2004:
rm -rf out
mkdir -p out/opt/cppse/build/boost/include/
cp -L -prv boost/stage/lib out/opt/cppse/build/boost/
cp -L -prv boost/boost out/opt/cppse/build/boost/include/
rm -rf boost_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -v 1.1 -s dir -t deb -n boost --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "boost - build dependency" --url "https://github.com/liballeg/boost.git" --deb-generate-changes -C /src/out


clean: clean:
rm -rf boost rm -rf boost
rm -rf out rm -rf out

+ 19
- 3
fastpfor/Makefile 查看文件

SHELL:=/bin/bash SHELL:=/bin/bash


caf:
ubuntu1804:
git clone https://github.com/lemire/FastPFor git clone https://github.com/lemire/FastPFor
pushd FastPFor && git checkout 8030e3808f857cc12d1d09e264f1ad2a05b1964a # master at the time of writing pushd FastPFor && git checkout 8030e3808f857cc12d1d09e264f1ad2a05b1964a # master at the time of writing
patch FastPFor/CMakeLists.txt libcpp.patch patch FastPFor/CMakeLists.txt libcpp.patch
bash ../ubuntu1804.sh make impl bash ../ubuntu1804.sh make impl
make package
make package-ubuntu1804

ubuntu2004:
git clone https://github.com/lemire/FastPFor
pushd FastPFor && git checkout 8030e3808f857cc12d1d09e264f1ad2a05b1964a # master at the time of writing
patch FastPFor/CMakeLists.txt libcpp.patch
bash ../ubuntu2004.sh make impl
make package-ubuntu2004


impl: impl:
update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-10 40 update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-10 40
CXX=$$(which c++) cmake . && \ CXX=$$(which c++) cmake . && \
make -j $$(nproc) make -j $$(nproc)


package:
package-ubuntu1804:
rm -rf out rm -rf out
mkdir -p out/opt/cppse/build/fastpfor/lib mkdir -p out/opt/cppse/build/fastpfor/lib
mkdir -p out/opt/cppse/build/fastpfor/include mkdir -p out/opt/cppse/build/fastpfor/include
rm -rf fastpfor_*_amd64.deb rm -rf fastpfor_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n fastpfor --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "fastpfor - build dependency" --url "https://github.com/rayburgemeestre/FastPFor" --deb-generate-changes -C /src/out docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n fastpfor --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "fastpfor - build dependency" --url "https://github.com/rayburgemeestre/FastPFor" --deb-generate-changes -C /src/out


package-ubuntu2004:
rm -rf out
mkdir -p out/opt/cppse/build/fastpfor/lib
mkdir -p out/opt/cppse/build/fastpfor/include
cp -prv ./FastPFor/libFastPFor.a out/opt/cppse/build/fastpfor/lib/
cp -prv ./FastPFor/headers out/opt/cppse/build/fastpfor/include/
rm -rf fastpfor_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -v 1.1 -s dir -t deb -n fastpfor --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "fastpfor - build dependency" --url "https://github.com/rayburgemeestre/FastPFor" --deb-generate-changes -C /src/out

clean: clean:
rm -rf FastPFor rm -rf FastPFor
rm -rf out rm -rf out

+ 18
- 6
ffmpeg/Makefile 查看文件

SHELL:=/bin/bash SHELL:=/bin/bash


ffmpeg:
ubuntu1804:
# git clone git://git.videolan.org/x264.git # git clone git://git.videolan.org/x264.git
#git clone https://github.com/rayburgemeestre/x264 #git clone https://github.com/rayburgemeestre/x264




bash ../ubuntu1804.sh make ffmpeg_impl bash ../ubuntu1804.sh make ffmpeg_impl


make package
make package-ubuntu1804

ubuntu2004:
git clone https://code.videolan.org/videolan/x264
git clone git://source.ffmpeg.org/ffmpeg.git
bash ../ubuntu2004.sh make ffmpeg_impl
make package-ubuntu2004


ffmpeg_impl: ffmpeg_impl:
apt-get update apt-get update
make -j $$(nproc) && \ make -j $$(nproc) && \
make install make install


package:
package-ubuntu1804:
rm -rf out rm -rf out

mkdir -p out/opt/cppse/build/x264 mkdir -p out/opt/cppse/build/x264
mkdir -p out/opt/cppse/build/ffmpeg mkdir -p out/opt/cppse/build/ffmpeg

cp -prv ./x264_out/* out/opt/cppse/build/x264/ cp -prv ./x264_out/* out/opt/cppse/build/x264/
cp -prv ./ffmpeg_out/* out/opt/cppse/build/ffmpeg/ cp -prv ./ffmpeg_out/* out/opt/cppse/build/ffmpeg/

rm -rf cppseffmpeg_*_amd64.deb rm -rf cppseffmpeg_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n cppseffmpeg --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "ffmpeg - build dependency" --url "https://gitea.cppse.nl/rayburgemeestre/build-config/src/branch/master/ffmpeg" --deb-generate-changes -C /src/out docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n cppseffmpeg --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "ffmpeg - build dependency" --url "https://gitea.cppse.nl/rayburgemeestre/build-config/src/branch/master/ffmpeg" --deb-generate-changes -C /src/out


package-ubuntu2004:
rm -rf out
mkdir -p out/opt/cppse/build/x264
mkdir -p out/opt/cppse/build/ffmpeg
cp -prv ./x264_out/* out/opt/cppse/build/x264/
cp -prv ./ffmpeg_out/* out/opt/cppse/build/ffmpeg/
rm -rf cppseffmpeg_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -v 1.1 -s dir -t deb -n cppseffmpeg --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "ffmpeg - build dependency" --url "https://gitea.cppse.nl/rayburgemeestre/build-config/src/branch/master/ffmpeg" --deb-generate-changes -C /src/out

clean: clean:
rm -rf x264 rm -rf x264
rm -rf ffmpeg rm -rf ffmpeg

+ 1
- 1
fpm/Dockerfile-ubuntu2004 查看文件

FROM ubuntu:20:04
FROM ubuntu:20.04


ENV DEBIAN_FRONTEND noninteractive ENV DEBIAN_FRONTEND noninteractive



+ 16
- 1
v8pp/Makefile 查看文件

SHELL:=/bin/bash SHELL:=/bin/bash


iv8:
ubuntu1804:
# git clone https://github.com/rayburgemeestre/v8pp # git clone https://github.com/rayburgemeestre/v8pp
# #
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git || true git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git || true
# also packages v8pp for now # also packages v8pp for now
make fpm_package make fpm_package


ubuntu2004:
# git clone https://github.com/rayburgemeestre/v8pp
#
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git || true
# will be factored out at some point
git clone https://github.com/pmed/v8pp || true
pushd v8pp && git checkout 94308b4fcd992fcc8174b0b30a73e58a436819b2 # master at time of writing

bash ../ubuntu2004.sh make build
bash ../ubuntu2004.sh make archive # outside container not enough permissions
bash ../ubuntu2004.sh make package # outside container not enough permissions

# also packages v8pp for now
make fpm_package

build: build:
update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-10 40 update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-10 40
update-alternatives --install /usr/bin/cc cc /usr/bin/clang-10 40 update-alternatives --install /usr/bin/cc cc /usr/bin/clang-10 40

正在加载...
取消
保存