1 include /usr
/share
/dpkg
/pkg-info.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
)
15 DSC
=$(PACKAGE
)_
$(DEB_VERSION_UPSTREAM_REVISION
).dsc
16 BUILDDIR ?
= $(PACKAGE
)-$(DEB_VERSION_UPSTREAM
)
22 PERLMOD_GENPACKAGE
:= /usr
/lib
/perlmod
/genpackage.pl \
25 --lib-package
=Proxmox
::Lib
::PVE \
29 PVE
::RS
::APT
::Repositories \
31 PVE
::RS
::ResourceScheduling
::Static \
34 ifeq ($(BUILD_MODE
), release
)
35 CARGO_BUILD_ARGS
+= --release
42 cargo build
$(CARGO_BUILD_ARGS
)
43 mkdir
-p
test/Proxmox
/Lib
45 's@^sub libdirs.*$$@sub libdirs { return ("./target/$(TARGET_DIR)", "./../target/$(TARGET_DIR)"); }@' \
46 Proxmox
/Lib
/PVE.pm
>test/Proxmox
/Lib
/PVE.pm
48 Proxmox PVE
: Proxmox
/Lib
/PVE.pm
49 Proxmox
/Lib
/PVE.pm
: Fixup.pm
50 $(PERLMOD_GENPACKAGE
) $(PERLMOD_PACKAGES
)
51 sed
-i
-e
'/package Proxmox/rFixup.pm' Proxmox
/Lib
/PVE.pm
57 install: target
/release
/libpve_rs.so Proxmox
/Lib
/PVE.pm PVE
58 install -d
-m755
$(DESTDIR
)$(PERL_INSTALLVENDORARCH
)/auto
59 install -m644 target
/release
/libpve_rs.so
$(DESTDIR
)$(PERL_INSTALLVENDORARCH
)/auto
/libpve_rs.so
60 install -d
-m755
$(DESTDIR
)$(PERL_INSTALLVENDORLIB
)
61 install -d
-m755
$(DESTDIR
)$(PERL_INSTALLVENDORLIB
)/Proxmox
/Lib
62 install -m644 Proxmox
/Lib
/PVE.pm
$(DESTDIR
)$(PERL_INSTALLVENDORLIB
)/Proxmox
/Lib
/PVE.pm
63 find
$(PM_DIR
) \
! -type d
-print -exec
install -Dm644
'{}' $(DESTDIR
)$(PERL_INSTALLVENDORLIB
)'/{}' ';'
68 rm -f
*.deb
*.dsc
*.
tar.
* *.build
*.buildinfo
*.changes Cargo.lock
69 rm -rf
$(PACKAGE
)-[0-9]*/
76 upload
: UPLOAD_DIST ?
= $(DEB_DISTRIBUTION
)
78 # check if working directory is clean
79 git diff
--exit-code
--stat
&& git diff
--exit-code
--stat
--staged
80 tar cf
- $(DEBS
) | ssh
-X repoman@repo.proxmox.com upload
--product pve
--dist $(DEB_DISTRIBUTION
)
82 $(BUILDDIR
): src debian
test common
/src Cargo.toml Makefile .cargo
/config
83 rm -rf
$(BUILDDIR
) $(BUILDDIR
).tmp
85 mkdir
$(BUILDDIR
).tmp
/common
86 cp
-a
-t
$(BUILDDIR
).tmp src debian
test Cargo.toml Makefile .cargo Fixup.pm
87 cp
-a
-t
$(BUILDDIR
).tmp
/common common
/src
88 mv
$(BUILDDIR
).tmp
$(BUILDDIR
)
93 cd
$(BUILDDIR
); PATH
="/usr/local/bin:/usr/bin" dpkg-buildpackage
-b
-us
-uc
99 cd
$(BUILDDIR
); PATH
="/usr/local/bin:/usr/bin" dpkg-buildpackage
-S
-us
-uc
-d