RPM & DEB repositories

[b]This post is no longer relevant. The proper archive link for ubuntu/debian is now:

deb http://archive.panda3d.org/ubuntu xenial main

Replace “xenial” with the version of your Ubuntu.[/b]

Hi all,

I’ve been working to get Panda running on the OpenSUSE Build Service.
It works like this: I upload a source package and a .spec and .dsc file, and it will automatically compile it for me on tons of different linux distro’s and architectures, and it will set up repositories with .debs and .rpms.
Extremely useful, some benefits are:
(1) Saves me a lot of effort. I can also track the status and see build logs as the build progresses.
(2) It finishes the builds within 45 minutes. This makes releasing a Panda version quick and painless - I don’t have to spend days in virtual machines. This will allow me to release more often & earlier. (A pity this doesn’t work with Mac & Windows.)
(3) Users won’t have to download every new Panda release from the download page - they can just add the repositories and their distro will automatically notify them about updates - and install panda for em.
(4) This makes Panda available for much more different distros. I can add any distro or architecture I want by just hitting a checkbox somewhere.
(5) Its easy for me to customize the build process and test how it works on different distro’s instantly. Also, when we want to have runtime distributables later, it’s just a matter of uploading a second .spec file.

Currently, the repositories are here:
archive.panda3d.org/
archive.panda3d.org/rpms/
Not seeing your distro/arch in the list? Just ask me - I can add it easily, and max. 45 minutes later it will be built.
The current Panda version in the repo’s is 1.6.0 with some modifications to make it compile.
For RPM, there is a panda3d package, panda3d-devel, panda3d-debug and source RPM. If you’re a Python user, you’ll just need the “panda3d” package - C++ users probably also want the -devel and -debug packages.
The DEB packages aren’t split up yet - it’s just one big package like on the download page. Maybe for later.

Debian/ubuntu users
Add this to your /etc/apt/sources.list, or do the equivalent in the graphical tool for your distro:

deb http://archive.panda3d.org lenny main

That’s for debian. I can’t get panda to compile on etch yet, sorry - lenny only for now. For ubuntu:

deb http://archive.panda3d.org jaunty main

Replace “jaunty” with the codename of your ubuntu version.
If you’ve edited sources.list by hand, you’ll need to execute this command as root:

sudo apt-get update

Then, it should be installable.

RPM-based distro users
You’ll need to get rpm to accept the OpenSUSE Build Service’s GPG key first. Use this as root:

rpm --import http://download.opensuse.org/openSUSE-Build-Service.asc

YaST
If you’re a YaST user, go to the Installation Source module. Select Add -> By URL, and enter:

http://download.opensuse.org/repositories/home://pro-rsoft://Panda3D/openSUSE_11.1/

Replace “openSUSE_11.1” with the correct dirname - use the url above to find out which one for your distro.

yum
I think you just need to copy the .repo file which you can find after navigating into the repo for your distro here, download that .repo file and put it in the “/etc/yum.repos.d/” directory.

For more info on how to add the repo’s, click here.

Oh. There’s a problem with this approach - since openSUSE also publishes the source packages, I can’t ship the maya SDK’s with the source, meaning: the RPM’s and DEB’s don’t have Maya support.
Maybe I could release besides those a distro-independent panda3d-maya package. Is there anyone here who knows how to compile and link those in such a way it will work across distros?

some suggestions:

  • include the latest ubuntu releases automatically if already possible (specifically i mean the latest testing/unstable versions)
  • create addon packages, for example the maya plugins, maybe also physx. maybe move fmod there as well. possibly this could lead to a panda3d-addons site where c++ addons/plugins/modules to panda3d could be released.
  • as it already has been suggested somewhere, create -dev and “normal” packages.

Hmm, what exactly do you mean? If you add this repo, you can see 1.6.0 is already there.
Or, do you mean that I regularly upload a CVS snapshot of the source, and make a second “unstable” repo?
Or do you mean I should include Ubuntu Jaunty?

That was 100% what I was thinking. I’m planning to have panda3d-maya, panda3d-fmod and panda3d-physx packages in the end (I hate that fmod is the default, and even that the default build is nonfree - it should be free.)
However, no matter how hard I tried, I could not find a way around the PhysX SDK license - they don’t allow redistribution. Meaning, I can’t do that through the BuildService - it publishes source packages exactly as I uploaded them. Same story for Maya.
It would be great if I could publish just one or two distro-independent maya and physx packages. Anyone knows of a way to compile+link those in a way that they will work on any distro?

As stated in my post above, there are already -devel, -debug and normal packages in the .rpm repositories, but I’m still working on that for debian repo’s.

Wow, this is really great news! Hooray for OpenSUSE for finding a solution to the problem of building on so many distros, and great job pro-rsoft for knowing about it and integrating with it!

I don’t have any brilliant ideas about dealing with the non-free parts, though. It is a conundrum.

David

I think he means Jaunty, which I would also appreciate as well.

Once someone manages to get the non-free parts as sort of “extra package”, we can host it at Panda3DProjects.

Having a Repo up and running is not the problem. New Ubuntu Release (Jaunty) might be an idea, but not before the release is finally there.
Having to compile for testing and SID means to have a regular updated system and releasing that nearly all day because there MIGHT have been changes to the OS given. -> Not a good idea if you ask me because its a ton of work that is not worth the efforts.

Regards, Bigfoot29

New distro releases are automatically added, I believe - since Jaunty is not yet released, it’s not yet there. I’ll add it as soon as it appears.

Eventually, my goal is to have these repositories hosted at panda3d.org itself. I’ve already tried using apache rewrite rules but apt cannot handle 30X redirects. :angry:

It might not be a bad idea to have something like this at panda3dprojects for people who want to distribute their non-free addon, indeed.

Prorsoft: there is no need for a redirect. At least for the domain name we can redirect it with p3dp completely using DNS functionality. This should be able with p3d.org aswell, but I guess, we don’t have access to their name server :smiley:

http://lenny.debian.p3dp.org/ could redirect to http://download.opensuse.org/repositories/home://pro-rsoft://Panda3D/Debian_5.0 for example…

Or anything we want to use at P3D later on.

Regards, Bigfoot29

Well, that would be sweet. Can we set up redirects for individual subdirectories?
E.g. archive.panda3d.org/dists/lenny to download.opensuse.org/repositori … ebian_5.0/ or something like that?

Nope. “Only” the said way using complete domain names:

Regards, Bigfoot29

Okay. Would it redirect subdirectories fine?
E.g. would debian.p3dp.com/lenny still redirect correctly?
If so, could you perhaps set up a testcase at p3dp, something like:
debian.p3dp.org redirect to download.opensuse.org/repositori … //Panda3D/ ?

Addendum: bug with 64-bits repositories is fixed, and the Jaunty repo is up and running as well.
Haven’t tested it on Jaunty yet (the bugs with python2.6 should be fixed) but I’m upgrading right now to test it.
(EDIT: Yeah, the jaunty build works fine now.)

PS. Panda3D 1.6.1 is already in the repos.

this is really a sensational tool I haven’t heard so far- thankyou a lot for hinted out pro-rsoft

Success on Jaunty from here!

The debian/ubuntu repositories are now hosted here at panda3d.org.
You can now put this in /etc/apt/sources.list: (of course replace “jaunty” with your distro)

deb http://archive.panda3d.org jaunty main

Then, you’ll be able to install the “panda3d” package through your favorite package manager.

The advantage of having debs hosted here is that old releases will be stored too (you’ll be able to revert to an older version through your package manager).

I’ll find a way to link to the RPM repositories from panda3d.org, too.

so 8)

PS: is it all already up? i tried hardy and jaunty with no luck
this is what I got for hardy

and jaunty gotta similar behavior

EDIT check: the .gz extension is missed on the server

Weird, it worked for me. Apparently your distro looks for a compressed Packages file.
Anyways, I’ve modified the scripts to also post a gzipped version and rebuilt the repositories. Let me know if it works, or rather, doesn’t work.

you betcha:

:wink:

great job pro_r!

Just for kicks, I emailed support at the Autodesk Developer Network about including the sdk on the build service. Amazingly, they actually wrote back within 24 hours, although just to fwd the request to someone else :slight_smile: we’ll see.

for the maya tools: I can make installer packages, at least for ubuntu. I don’t know a distro-independent way of doing an installer other than a tarball and an install script. That might be fine, though, since it’s only a few files anyway, right?