Documentation to setup dev environment

ns33

New Member
Apr 4, 2024
14
1
3
Does developer documentation exist which explains how to setup a developer env?

At the moment I'm trying to build POM but I'm going all off of assumptions without much luck. Biggest issue is when running mk-build-deps -ir a lot of the dependencies versions are not found.
 
Hmm following the docs I still get the same error with doing the mk-build-deps call:

Broken rust-proxmox-offline-mirror-build-deps:amd64 Depends on librust-flate2-1+default-dev:amd64 < none @un H > (>= 1.1-~~)

Any ideas?
 
Hmm following the docs I still get the same error with doing the mk-build-deps call:

Broken rust-proxmox-offline-mirror-build-deps:amd64 Depends on librust-flate2-1+default-dev:amd64 < none @un H > (>= 1.1-~~)

Any ideas?
Which repositories do you have in your /etc/apt/sources.list or /etc/apt/sources.list.d/*.list? Have you tried installing the package(s) the error message says is/are missing?
 
Which repositories do you have in your /etc/apt/sources.list or /etc/apt/sources.list.d/*.list? Have you tried installing the package(s) the error message says is/are missing?

I have deb http://download.proxmox.com/debian/devel/ bookworm main added as well as the default debian 12 repos. I also tried adding the pvetest repo.

If I manually try to install the package that fails librust-flate2-1+default-dev:amd64, using either apt install or apt satisfy; apt satisfy making the dependencies of that package easier to manage; I can get it to install but rerunning mk-build-deps --ir, I'll still get the error.

Checking again using apt install librust-flate2-1+default-dev:amd64, it states librust-flate2-1+default-dev:amd64 is a virtual package provided by librust-flate2+miniz-oxide-dev 1.0.25-1 (= 1.0.25-1) or librust-flate2-dev 1.0.34-1~bpo12+pve1 (= 1.0.34-1~bpo12+pve1).

If I do apt install librust-flate2-dev, in return I get librust-flate2-dev is already the newest version (1.0.34-1~bpo12+pve1).
 
You could always run apt search <pattern> to find out which packages are available to you and check the debian/control file of each project to see which packages are required as dependencies.
 
So this is my first time using anything which utilizes a control file to set dependencies, at least directly to my knowledge; so if I lack some understanding, I apologize.

I started to do an apt search for the packages in the control file. I guess I don't understand what '+default' means; like in librust-proxmox-apt-0.99+default-dev for example. Does that mean the package needs to be version 0.99 or higher? If that's the case, there are some packages like librust-nix-0.29+default-dev, which I'm assuming means package 0.29 is needed but only 0.26.1-3 is available. There's others as well that have the same concern, but if my assumption is incorrect, then disregard that issue.

Also the package librust-proxmox-base64 doesn't seem to exist; there's a librust-base64.

Another is librust-proxmox-schema-4* looks to want version >=4.1 but only 4.0.0 is available.

I'm assuming there's some pipeline that built POM 0.7.0 successfully using this control file.
 
Last edited:
I just looked at the commit history of POM more closely; not sure about the librust-flate2-1+default-dev:amd64 package error but the other ones missing the correct version are for the debian trixie and the download.proxmox.com/debian/devel for trixie is empty.

My main reason for building is getting POM support with Ceph Squid which occurred between the current 0.6.7 release and now the new 0.7.0 as well as looking to add a feature for our environment. I guess for now, I'll just checkout out the latest commit that has the required dependencies published and wait for trixie packages to get published