[pve-devel] need help to package frr routing software in proxmox way
Alexandre DERUMIER
aderumier at odiso.com
Mon Jun 11 13:27:41 CEST 2018
> They are some bootstraping to generate the /debian directory with build rules.
>>what needs to be done here, roughly?
>>Isn't it enough to make a softlink from debian -> debianpkg in the
>>build directory?
I'm currently looking inside the bootstrap, but I seem that some files are generated in debianpkg directory
They are a "make dist" in the boostrap, which do some configure, make and generate some files in debianpkg. (maybe compiling some templates rules files, or something like that).
Thanks for hints, I'll dig a little more.
----- Mail original -----
De: "Thomas Lamprecht" <t.lamprecht at proxmox.com>
À: "pve-devel" <pve-devel at pve.proxmox.com>, "aderumier" <aderumier at odiso.com>
Envoyé: Lundi 11 Juin 2018 09:05:12
Objet: Re: [pve-devel] need help to package frr routing software in proxmox way
Hi,
On 6/11/18 8:15 AM, Alexandre DERUMIER wrote:
> Hi,
>
> I'm currently working to package frr
> https://github.com/FRRouting/frr
>
> in proxmox way (with git submodule)
>
>
> official debian build infos are here:
>
> https://github.com/FRRouting/frr/blob/8d659e9168063897f5a475f78162f0e63889c964/doc/developer/packaging-debian.rst
>
>
> But I'm not sure how to implement this for a clean proxmox package in the Makefile
>
Normally the stepos would be somewhat like:
* ensure submodule is initialised
* sync over submodule to build directory
* overwrite (parts of) debian packaging directory
* call dpkg-buildpackage
> They are some bootstraping to generate the /debian directory with build rules.
what needs to be done here, roughly?
Isn't it enough to make a softlink from debian -> debianpkg in the
build directory?
> Maybe should I implemented this in "download:" to generate a tar.gz, and simply use it in "deb:" section ?
>
Hmm, if you do it with submodules then no "download to archive" should be needed.
A makefile could look somewhat like:
(this is a modified version of our novnc-pve Makfile)
PACKAGE=frr-pve
VER=X.Y.Z
PKGREL=1
SRCDIR=frr
BUILDDIR=${SRCDIR}.tmp
ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
GITVERSION:=$(shell git rev-parse HEAD)
DEB=${PACKAGE}_${VER}-${PKGREL}_${ARCH}.deb
all: ${DEB}
.PHONY: deb
deb: ${DEB}
${DEB}: | submodule
rm -rf ${BUILDDIR}
cp -rpa ${SRCDIR} ${BUILDDIR}
ln -s ${BUILDDIR}/debian ${BUILDDIR}/debianpkg
# copy debian changelog here, and/or overwrite d/control
echo "git clone git://git.proxmox.com/git/frr-pve.git\\ngit checkout ${GITVERSION}" > ${BUILDDIR}/debian/SOURCE
cd ${BUILDDIR}; dpkg-buildpackage -b -uc -us
lintian ${DEB}
.PHONY: submodule
submodule:
# some test to check if the submodule was initialized once
#test -f "${SRCDIR}/vnc.html" || git submodule update --init
.PHONY: update_modules
update_modules ${SRCDIR}: submodule
git submodule foreach 'git pull --ff-only origin master'
.PHONY: clean
clean:
rm -rf *~ debian/*~ *.deb ${BUILDDIR} *.changes *.dsc *.buildinfo
.PHONY: dinstall
dinstall: deb
dpkg -i ${DEB}1
More information about the pve-devel
mailing list