4 $(shell echo
"$(1)" | tr
'[:lower:]' '[:upper:]')
7 ifeq ($(BUILD_MODE
), release
)
8 CARGO_BUILD_ARGS
+= --release
11 DEBUG_LIBPATH
:= "-L./target/debug",
14 define package_template
16 -e
's/\{\{PRODUCT\}\}/$(1)/g;' \
17 -e
's/\{\{LIBRARY\}\}/$(2)/g;' \
18 -e
's|\{\{DEBUG_LIBPATH\}\}|$(DEBUG_LIBPATH)|g;' \
19 Proxmox
/Lib
/template.pm \
25 ifeq ($(BUILD_TARGET
), pve
)
27 else ifeq ($(BUILD_TARGET
), pmg
)
37 @PERLMOD_PRODUCT
=$(call to_upper
,$@
) \
38 $(CARGO
) build
$(CARGO_BUILD_ARGS
) -p
$@
-rs
42 $(call package_template
,PMG
,pmg_rs
)
43 $(call package_template
,PVE
,pve_rs
)
44 perl .
/scripts
/genpackage.pl Common Proxmox
::RS
::CalendarEvent
45 perl .
/scripts
/genpackage.pl PVE \
46 PVE
::RS
::APT
::Repositories \
49 perl .
/scripts
/genpackage.pl PMG \
50 PMG
::RS
::APT
::Repositories \
59 echo system
>build
/rust-toolchain
60 cp
-a .
/scripts .
/build
61 cp
-a .
/common .
/build
62 cp
-a .
/pve-rs .
/build
63 cp
-a .
/pmg-rs .
/build
64 cp
-a .
/Proxmox .
/build
65 $(MAKE
) BUILD_MODE
=release
-C build
-f ..
/Makefile gen
66 mkdir
-p .
/build
/pve-rs
/Proxmox
/Lib
67 mv .
/build
/Proxmox
/Lib
/PVE.pm .
/build
/pve-rs
/Proxmox
/Lib
/PVE.pm
68 mkdir
-p .
/build
/pmg-rs
/Proxmox
/Lib
69 mv .
/build
/Proxmox
/Lib
/PMG.pm .
/build
/pmg-rs
/Proxmox
/Lib
/PMG.pm
70 mv .
/build
/PVE .
/build
/pve-rs
71 mv .
/build
/PMG .
/build
/pmg-rs
72 mv .
/build
/Proxmox .
/build
/common
/pkg
73 # So the common packages end up in ./build, rather than ./build/common
74 mv .
/build
/common
/pkg .
/build
/common-pkg
77 cd .
/build
/pve-rs
&& dpkg-buildpackage
-b
-uc
-us
81 cd .
/build
/pmg-rs
&& dpkg-buildpackage
-b
-uc
-us
85 cd .
/build
/common-pkg
&& dpkg-buildpackage
-b
-uc
-us
90 dcmd
--deb lib
$*-rs-perl
*.changes \
91 | grep
-v
'.changes$$' \
92 |
tar -cf
"$@.tar" -T-
; \
93 cat
"$@.tar" | ssh
-X repoman@repo.proxmox.com upload
--product
$* --dist bullseye
98 rm -rf .
/build .
/PVE .
/PMG .
/pve-deb .
/pmg-deb