1 include /usr
/share
/dpkg
/default.mk
4 export PERLMOD_PRODUCT
=PVE
6 ARCH
:=$(shell dpkg-architecture
-qDEB_BUILD_ARCH
)
7 export GITVERSION
:=$(shell git rev-parse HEAD
)
9 PERL_INSTALLVENDORARCH
!= perl
-MConfig
-e
'print $$Config{installvendorarch};'
10 PERL_INSTALLVENDORLIB
!= perl
-MConfig
-e
'print $$Config{installvendorlib};'
12 MAIN_DEB
=${PACKAGE}_
${DEB_VERSION}_
${ARCH}.deb
13 DBGSYM_DEB
=${PACKAGE}-dbgsym_
${DEB_VERSION}_
${ARCH}.deb
14 DEBS
=$(MAIN_DEB
) $(DBGSYM_DEB
)
24 PVE
/RS
/APT
/Repositories.pm \
25 PVE
/RS
/CalendarEvent.pm \
29 ifeq ($(BUILD_MODE
), release
)
30 CARGO_BUILD_ARGS
+= --release
34 ifneq ($(BUILD_MODE
), skip
)
35 cargo build
$(CARGO_BUILD_ARGS
)
38 # always re-create this dir
39 # but also copy the local target/ and PVE/ dirs as a build-cache
44 rsync
-a debian Makefile Cargo.toml Cargo.lock src target PVE build
/
47 install: target
/release
/libpve_rs.so
48 install -d
-m755
$(DESTDIR
)$(PERL_INSTALLVENDORARCH
)/auto
49 install -m644 target
/release
/libpve_rs.so
$(DESTDIR
)$(PERL_INSTALLVENDORARCH
)/auto
/libpve_rs.so
50 install -d
-m755
$(DESTDIR
)$(PERL_INSTALLVENDORLIB
)/PVE
/RS
51 for i in
$(PM_DIRS
); do \
52 install -d
-m755
$(DESTDIR
)$(PERL_INSTALLVENDORLIB
)/$$i; \
54 for i in
$(PM_FILES
); do \
55 install -m644
$$i $(DESTDIR
)$(PERL_INSTALLVENDORLIB
)/$$i; \
61 cd build
; dpkg-buildpackage
-b
-us
-uc
--no-pre-clean
68 rm -rf
*.deb
*.dsc
*.
tar.gz
*.buildinfo
*.changes Cargo.lock build
69 find .
-name
'*~' -exec
rm {} ';'
77 # check if working directory is clean
78 git diff
--exit-code
--stat
&& git diff
--exit-code
--stat
--staged
79 tar cf
- ${DEBS} | ssh
-X repoman@repo.proxmox.com upload
--product pve
--dist bullseye