1 include /usr
/share
/dpkg
/pkg-info.mk
2 include /usr
/share
/dpkg
/architecture.mk
6 BUILDSRC
:= $(PACKAGE
)-$(DEB_VERSION_UPSTREAM
)
12 SBINDIR
=$(PREFIX
)/sbin
13 MANDIR
=$(PREFIX
)/share
/man
14 DOCDIR
=$(PREFIX
)/share
/doc
/$(PACKAGE
)
15 MAN1DIR
=$(MANDIR
)/man1
/
16 PERLDIR
=$(PREFIX
)/share
/perl5
18 PERL_ARCHLIB
:= `perl -MConfig -e 'print $$Config{archlib};'`
19 PERL_INSTALLVENDORARCH
:= `perl -MConfig -e 'print $$Config{installvendorarch};'`
20 PERL_APIVER
:= `perl -MConfig -e 'print $$Config{debian_abi}//$$Config{version};'`
22 # overwrite as not all Debian default flags work for the XS code (e.g., -Wformat-security)
23 CFLAGS
= -shared
-fPIC
-g
-O2
-Werror
-Wtype-limits
-Wall
-Wl
,-z
,relro
24 CFLAGS
+= -D_FORTIFY_SOURCE
=2 -I
$(PERL_ARCHLIB
)/CORE
-DXS_VERSION
=\"1.0\"
25 CFLAGS
+= -fstack-protector-strong
-Wformat
27 PERLSODIR
=$(PERL_INSTALLVENDORARCH
)/auto
29 GITVERSION
:=$(shell git rev-parse HEAD
)
31 DEB
=$(PACKAGE
)_
$(DEB_VERSION_UPSTREAM_REVISION
)_
$(DEB_BUILD_ARCH
).deb
32 DSC
=$(PACKAGE
)_
$(DEB_VERSION_UPSTREAM_REVISION
).dsc
36 RADOS.c
: RADOS.xs typemap
37 xsubpp RADOS.xs
-typemap typemap
> RADOS.xsc
41 $(CC
) $(CFLAGS
) -o RADOS.so RADOS.c
-lrados
48 install: PVE
/RADOS.pm RADOS.so
49 install -D
-m
0644 PVE
/RADOS.pm
$(DESTDIR
)$(PERLDIR
)/PVE
/RADOS.pm
50 install -D
-m
0644 -s RADOS.so
$(DESTDIR
)$(PERLSODIR
)/PVE
/RADOS
/RADOS.so
55 rsync
-a
* $(BUILDSRC
)
56 sed
-e
"s|@PERLAPI@|perlapi-$(PERL_APIVER)|g" debian
/control.in
>$(BUILDSRC
)/debian
/control
57 echo
"git clone git://git.proxmox.com/git/librados2-perl.git\\ngit checkout $(GITVERSION)" > $(BUILDSRC
)/debian
/SOURCE
62 cd
$(BUILDSRC
); dpkg-buildpackage
-b
-us
-uc
68 cd
$(BUILDSRC
); dpkg-buildpackage
-S
-us
-uc
-d
-nc
73 rm -rf
*~ build
*.deb
*.changes
*.buildinfo
*.dsc
*.
tar.gz
74 find .
-name
'*~' -exec
rm {} ';'
81 tar cf
- $(DEB
) | ssh repoman@repo.proxmox.com
-- upload
--product pve
--dist buster
--arch
$(DEB_BUILD_ARCH
)