X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;ds=sidebyside;f=Makefile;h=f885c12831db06d5aa83d231587bd8d779164c8f;hb=HEAD;hp=e0fca5fc79d5f2c482bd6fa4fa859c97869b03eb;hpb=e483f23860ae2002c0dbb40864855f63d510166e;p=ceph.git diff --git a/Makefile b/Makefile index e0fca5fc7..9c23cadc5 100644 --- a/Makefile +++ b/Makefile @@ -1,118 +1,127 @@ -RELEASE=5.0 - PACKAGE=ceph -VER=12.0.0 + +VER != dpkg-parsechangelog -l changelog.Debian -Sversion | cut -d- -f1 +PKGVER != dpkg-parsechangelog -l changelog.Debian -Sversion + DEBREL=pve1 -SRC=ceph.tar.gz SRCDIR=ceph - -# everything except boost -SUBMODULES=ceph-erasure-code-corpus \ - ceph-object-corpus \ - src/Beast \ - src/civetweb \ - src/dpdk \ - src/erasure-code/jerasure/gf-complete \ - src/erasure-code/jerasure/jerasure \ - src/googletest \ - src/isa-l \ - src/lua \ - src/rocksdb \ - src/spdk \ - src/xxHash \ - src/zstd +BUILDSRC=${SRCDIR}-${VER} ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH) -GITVERSION:=$(shell cat .git/refs/heads/master) - -DEBS=ceph_${VER}-${DEBREL}_${ARCH}.deb \ -ceph-base_${VER}-${DEBREL}_${ARCH}.deb \ -ceph-common_${VER}-${DEBREL}_${ARCH}.deb \ -ceph-common-dbg_${VER}-${DEBREL}_${ARCH}.deb \ -ceph-fuse_${VER}-${DEBREL}_${ARCH}.deb \ -ceph-fuse-dbg_${VER}-${DEBREL}_${ARCH}.deb \ -ceph-mds_${VER}-${DEBREL}_${ARCH}.deb \ -ceph-mds-dbg_${VER}-${DEBREL}_${ARCH}.deb \ -ceph-mgr_${VER}-${DEBREL}_${ARCH}.deb \ -ceph-mgr-dbg_${VER}-${DEBREL}_${ARCH}.deb \ -ceph-mon_${VER}-${DEBREL}_${ARCH}.deb \ -ceph-mon-dbg_${VER}-${DEBREL}_${ARCH}.deb \ -ceph-osd_${VER}-${DEBREL}_${ARCH}.deb \ -ceph-osd-dbg_${VER}-${DEBREL}_${ARCH}.deb \ -ceph-resource-agents_${VER}-${DEBREL}_${ARCH}.deb \ -ceph-test_${VER}-${DEBREL}_${ARCH}.deb \ -ceph-test-dbg_${VER}-${DEBREL}_${ARCH}.deb \ -libcephfs2_${VER}-${DEBREL}_${ARCH}.deb \ -libcephfs2-dbg_${VER}-${DEBREL}_${ARCH}.deb \ -libcephfs-dev_${VER}-${DEBREL}_${ARCH}.deb \ -libcephfs-java_${VER}-${DEBREL}_all.deb \ -libcephfs-jni_${VER}-${DEBREL}_${ARCH}.deb \ -librados2_${VER}-${DEBREL}_${ARCH}.deb \ -librados2-dbg_${VER}-${DEBREL}_${ARCH}.deb \ -librados-dev_${VER}-${DEBREL}_${ARCH}.deb \ -libradosstriper1_${VER}-${DEBREL}_${ARCH}.deb \ -libradosstriper1-dbg_${VER}-${DEBREL}_${ARCH}.deb \ -libradosstriper-dev_${VER}-${DEBREL}_${ARCH}.deb \ -librbd1_${VER}-${DEBREL}_${ARCH}.deb \ -librbd1-dbg_${VER}-${DEBREL}_${ARCH}.deb \ -librbd-dev_${VER}-${DEBREL}_${ARCH}.deb \ -librgw2_${VER}-${DEBREL}_${ARCH}.deb \ -librgw2-dbg_${VER}-${DEBREL}_${ARCH}.deb \ -librgw-dev_${VER}-${DEBREL}_${ARCH}.deb \ -python3-ceph-argparse_${VER}-${DEBREL}_${ARCH}.deb \ -python3-cephfs_${VER}-${DEBREL}_${ARCH}.deb \ -python3-rados_${VER}-${DEBREL}_${ARCH}.deb \ -python3-rbd_${VER}-${DEBREL}_${ARCH}.deb \ -python3-rgw_${VER}-${DEBREL}_${ARCH}.deb \ -python-ceph_${VER}-${DEBREL}_${ARCH}.deb \ -python-cephfs_${VER}-${DEBREL}_${ARCH}.deb \ -python-rados_${VER}-${DEBREL}_${ARCH}.deb \ -python-rbd_${VER}-${DEBREL}_${ARCH}.deb \ -python-rgw_${VER}-${DEBREL}_${ARCH}.deb \ -radosgw_${VER}-${DEBREL}_${ARCH}.deb \ -radosgw-dbg_${VER}-${DEBREL}_${ARCH}.deb \ -rbd-fuse_${VER}-${DEBREL}_${ARCH}.deb \ -rbd-fuse-dbg_${VER}-${DEBREL}_${ARCH}.deb \ -rbd-mirror_${VER}-${DEBREL}_${ARCH}.deb \ -rbd-mirror-dbg_${VER}-${DEBREL}_${ARCH}.deb \ -rbd-nbd_${VER}-${DEBREL}_${ARCH}.deb \ -rbd-nbd-dbg_${VER}-${DEBREL}_${ARCH}.deb - -all: ${DEBS} +GITVERSION:=$(shell git rev-parse HEAD) + +DBG_DEBS=ceph-common-dbg_${PKGVER}_${ARCH}.deb \ +ceph-fuse-dbg_${PKGVER}_${ARCH}.deb \ +ceph-mds-dbg_${PKGVER}_${ARCH}.deb \ +ceph-mgr-dbg_${PKGVER}_${ARCH}.deb \ +ceph-mon-dbg_${PKGVER}_${ARCH}.deb \ +ceph-osd-dbg_${PKGVER}_${ARCH}.deb \ +ceph-test-dbg_${PKGVER}_${ARCH}.deb \ +libcephfs2-dbg_${PKGVER}_${ARCH}.deb \ +librados2-dbg_${PKGVER}_${ARCH}.deb \ +libradosstriper1-dbg_${PKGVER}_${ARCH}.deb \ +librbd1-dbg_${PKGVER}_${ARCH}.deb \ +librgw2-dbg_${PKGVER}_${ARCH}.deb \ +radosgw-dbg_${PKGVER}_${ARCH}.deb \ +rbd-fuse-dbg_${PKGVER}_${ARCH}.deb \ +rbd-mirror-dbg_${PKGVER}_${ARCH}.deb \ +rbd-nbd-dbg_${PKGVER}_${ARCH}.deb + +MAIN_DEB=ceph_${PKGVER}_${ARCH}.deb +DEBS_REST=ceph-base_${PKGVER}_${ARCH}.deb \ +ceph-common_${PKGVER}_${ARCH}.deb \ +ceph-fuse_${PKGVER}_${ARCH}.deb \ +ceph-mds_${PKGVER}_${ARCH}.deb \ +ceph-mgr_${PKGVER}_${ARCH}.deb \ +ceph-mon_${PKGVER}_${ARCH}.deb \ +ceph-osd_${PKGVER}_${ARCH}.deb \ +ceph-resource-agents_${PKGVER}_${ARCH}.deb \ +ceph-test_${PKGVER}_${ARCH}.deb \ +libcephfs2_${PKGVER}_${ARCH}.deb \ +libcephfs-dev_${PKGVER}_${ARCH}.deb \ +libcephfs-java_${PKGVER}_all.deb \ +libcephfs-jni_${PKGVER}_${ARCH}.deb \ +librados2_${PKGVER}_${ARCH}.deb \ +librados-dev_${PKGVER}_${ARCH}.deb \ +libradosstriper1_${PKGVER}_${ARCH}.deb \ +libradosstriper-dev_${PKGVER}_${ARCH}.deb \ +librbd1_${PKGVER}_${ARCH}.deb \ +librbd-dev_${PKGVER}_${ARCH}.deb \ +librgw2_${PKGVER}_${ARCH}.deb \ +librgw-dev_${PKGVER}_${ARCH}.deb \ +python3-ceph-argparse_${PKGVER}_all.deb \ +python3-cephfs_${PKGVER}_${ARCH}.deb \ +python3-rados_${PKGVER}_${ARCH}.deb \ +python3-rbd_${PKGVER}_${ARCH}.deb \ +python3-rgw_${PKGVER}_${ARCH}.deb \ +python3-ceph_${PKGVER}_${ARCH}.deb \ +python3-cephfs_${PKGVER}_${ARCH}.deb \ +python3-rados_${PKGVER}_${ARCH}.deb \ +python3-rbd_${PKGVER}_${ARCH}.deb \ +python3-rgw_${PKGVER}_${ARCH}.deb \ +radosgw_${PKGVER}_${ARCH}.deb \ +rados-objclass-dev_${PKGVER}_${ARCH}.deb \ +rbd-fuse_${PKGVER}_${ARCH}.deb \ +rbd-mirror_${PKGVER}_${ARCH}.deb \ +rbd-nbd_${PKGVER}_${ARCH}.deb +DEBS=$(MAIN_DEB) $(DEBS_REST) + +DSC=ceph_${PKGVER}.dsc + +all: ${DEBS} ${DBG_DEBS} @echo ${DEBS} + @echo ${DBG_DEBS} + +${BUILDSRC}: ${SRCDIR} patches + rm -rf $@ + mkdir $@.tmp + rsync -ra ${SRCDIR}/ $@.tmp + cd $@.tmp; ln -s ../patches patches + cd $@.tmp; quilt push -a + cd $@.tmp; rm -rf .pc ./patches + echo "git clone git://git.proxmox.com/git/ceph.git\\ngit checkout ${GITVERSION}" > $@.tmp/debian/SOURCE + echo "debian/SOURCE" >> $@.tmp/debian/docs + echo "${GITVERSION}\\n${VER}" > $@.tmp/src/.git_version + cp changelog.Debian $@.tmp/debian/changelog + mv $@.tmp $@ .PHONY: deb -deb: ${DEBS} -${DEBS}: ${SRC} patches - rm -rf ${SRCDIR} - tar xf ${SRC} - cd ${SRCDIR}; ln -s ../patches patches - cd ${SRCDIR}; quilt push -a - cd ${SRCDIR}; rm -rf .pc ./patches - echo "git clone git://git.proxmox.com/git/ceph.git\\ngit checkout ${GITVERSION}" > ${SRCDIR}/debian/SOURCE - echo "debian/SOURCE" >> ${SRCDIR}/debian/docs - cd ${SRCDIR}; dpkg-buildpackage -b -uc -us +deb: ${DEBS} ${DBG_DEBS} +${DEBS_REST} ${DBG_DEBS}: $(MAIN_DEB) +$(MAIN_DEB): ${BUILDSRC} + cd ${BUILDSRC}; dpkg-buildpackage -b -uc -us + lintian ${DEBS} @echo ${DEBS} +.PHONY: dsc +dsc: ${DSC} +${DSC}: ${BUILDSRC} + cd ${BUILDSRC}; dpkg-buildpackage -S -uc -us -d -nc + @echo ${DSC} + +# NOTE: always downloads latest version! .PHONY: download -download ${SRC}: - rm -rf ${SRC} ${SRCDIR} - git clone -b v${VER} --depth 1 https://github.com/ceph/ceph.git ${SRCDIR} - cd ${SRCDIR}; for module in ${SUBMODULES}; do git submodule update --init $${module}; done - # "ceph version" is derived from "git describe" - # only drop module history to save space - tar czf ${SRC} --exclude ".git/modules" ${SRCDIR} +download: + rm -rf ${SRCDIR}.tmp ${SRCDIR} + dgit -cdgit-distro.ceph.archive-query=aptget: -cdgit-distro.ceph.mirror=http://download.ceph.com/debian-reef -cdgit-distro.ceph.git-check=false --apt-get:--option=Dir::Etc::Trusted=${CURDIR}/upstream-key.asc -d ceph clone ceph jammy ./${SRCDIR}.tmp + @echo "WARNING" + @echo "Check output above for verification errors!" + @echo "WARNING" + rm -rf ${SRCDIR}.tmp/.git + find ${SRCDIR}.tmp/ -type f -name '.gitignore' -delete + mv ${SRCDIR}.tmp/debian/changelog ${SRCDIR}.tmp/changelog.upstream + mv ${SRCDIR}.tmp ${SRCDIR} .PHONY: upload upload: ${DEBS} - tar cf - ${DEBS} | ssh repoman@repo.proxmox.com upload --product ceph-luminous --dist stretch --arch ${ARCH} + tar cf - ${DEBS} | ssh repoman@repo.proxmox.com upload --product ceph-pacific --dist bullseye --arch ${ARCH} distclean: clean .PHONY: clean clean: - rm -rf ceph *_${ARCH}.deb *.changes *.dsc *.buildinfo + rm -rf ${BUILDSRC} ${BUILDSRC}.tmp *_all.deb *_${ARCH}.deb *.changes *.dsc *.buildinfo *.tar.gz .PHONY: dinstall dinstall: ${DEB}