debian-mirror-gitlab/debian/rules
2023-07-09 18:47:43 +05:30

90 lines
4 KiB
Makefile
Executable file

#!/usr/bin/make -f
include /usr/share/dpkg/pkg-info.mk
BUILDDIR := _build/src/gitlab.com/gitlab-org/gitlab
VENDORDIR := ${BUILDDIR}/vendor
SYSTEMGOCODE := /usr/share/gocode/src
%:
dh $@ --buildsystem=ruby --with=ruby --package=gitlab
dh $@ --buildsystem=golang --with=golang --builddirectory=_build \
--package=gitlab-workhorse --sourcedirectory=workhorse
override_dh_auto_configure-indep:
dh_auto_configure -O--package=gitlab -O--buildsystem=ruby -O--with=ruby
override_dh_auto_configure-arch:
dh_auto_configure -O--package=gitlab-workhorse -O--buildsystem=golang \
-O--with=golang -O--builddirectory=_build -O--sourcedirectory=workhorse
# we don't need gitlab's (ruby) vendor directory
rm -rf ${VENDORDIR}
# workhorse-vendor is meant for workhorse, but should be renamed
mv ${BUILDDIR}/workhorse-vendor ${VENDORDIR}
# merge vendor from gitaly with vendor in build directory using simbolic links
cp -arsn ${SYSTEMGOCODE}/gitlab.com/gitlab-org/gitaly/v16/vendor/* \
${VENDORDIR}/
# import paths in vendor needs version as directory (go.mod is ignored)
mkdir -p ${VENDORDIR}/github.com/cespare/xxhash/v2
mkdir -p ${VENDORDIR}/github.com/oklog/ulid/v2
cp -arsn ${SYSTEMGOCODE}/github.com/cespare/xxhash/* ${VENDORDIR}/github.com/cespare/xxhash/v2
cp -arsn ${SYSTEMGOCODE}/github.com/oklog/ulid/* ${VENDORDIR}/github.com/oklog/ulid/v2
# only go files gets copied, but we need files like gitlab-logo.png
cp -rf workhorse ${BUILDDIR}
# Remove non-existent symlink
find ${BUILDDIR} -name test.git -delete
override_dh_auto_build-indep:
dh_auto_build -O--package=gitlab -O--buildsystem=ruby -O--with=ruby
override_dh_auto_build-arch:
dh_auto_build -O--package=gitlab-workhorse -O--buildsystem=golang \
-O--with=golang -O--builddirectory=_build -O--sourcedirectory=workhorse
# Rename binary to gitlab-workhorse (upstream is passing -o in Makefile)
if [ -f _build/bin/workhorse ]; then \
mv _build/bin/workhorse _build/bin/gitlab-workhorse; fi
override_dh_auto_test-indep:
dh_auto_test -O--package=gitlab -O--buildsystem=ruby -O--with=ruby
override_dh_auto_test-arch:
PATH="$(CURDIR)/_build/bin:$$PATH" dh_auto_test -O--package=gitlab-workhorse \
-O--buildsystem=golang -O--with=golang -O--builddirectory=_build \
-O--sourcedirectory=workhorse
override_dh_auto_install-indep:
# skip gem2deb copying files to /usr/lib/ruby
override_dh_auto_install-arch:
dh_auto_install -O--package=gitlab-workhorse -O--buildsystem=golang \
-O--with=golang -O--builddirectory=_build -O--sourcedirectory=workhorse
override_dh_install-indep:
sh debian/upstream-file-count-check.sh
sh debian/upstream-config-file-check.sh
dh_install -XLICENSE -O--package=gitlab -O--buildsystem=ruby -O--with=ruby
dh_installexamples -O--package=gitlab -O--buildsystem=ruby -O--with=ruby
# Make sure we are installing all required files in debian/install
rm -rf debian/gitlab/usr/share/gitlab/tmp/*
find debian/gitlab/usr/share/gitlab/ -name .eslintrc.yml -delete
mv debian/gitlab/usr/share/gitlab/app/assets/javascripts/locale \
debian/gitlab/usr/share/gitlab/app/assets/javascripts/locale.static
if [ -f debian/gitlab/var/lib/gitlab/db/structure.sql ]; then \
mv debian/gitlab/var/lib/gitlab/db/structure.sql debian/gitlab/var/lib/gitlab/db/structure.sql.template; fi
sed -i 's/__NEW_VERSION__/${DEB_VERSION}/g' debian/gitlab/usr/lib/gitlab/templates/gitlab-debian.conf.example
override_dh_install-arch:
dh_install -XLICENSE -O--package=gitlab-workhorse -O--buildsystem=golang \
-O--with=golang -O--builddirectory=_build -O--sourcedirectory=workhorse
override_dh_installsystemd-indep:
dh_installsystemd --no-start -p gitlab --name=gitlab-sidekiq -O--package=gitlab
dh_installsystemd --no-start -p gitlab --name=gitlab-puma -O--package=gitlab
dh_installsystemd --no-start -p gitlab --name=gitlab-mailroom -O--package=gitlab
dh_installsystemd --no-start -p gitlab --name=gitlab-workhorse -O--package=gitlab
dh_installsystemd -O--package=gitlab -O--buildsystem=ruby -O--with=ruby
override_dh_golang-indep:
# don't fail in arch:all build, is there a better way ?
override_dh_dwz:
# Do nothing