![]() |
Uploading to Extras: For Fedora User?
Sorry if the answer to my query has been addressed elsewhere, but 'search' has not revealed the answer to me...
OK, so I have my own humble Python apps (Mephemeris, etc.) and some ports that I have done (Gphoto2, etc.) and today I decided to make *serious* efforts to make them more easily available by getting them (somehow) into the 'extras' repository. Thus far, it has been a 'hair pulling' experience for me :) I tried my dependable approach first: using 'pypackager', but this doesn't work (as others have pointed out). Oh how I wish that it did! Next, I have seen the page that describes the correct processes: http://wiki.maemo.org/Uploading_to_E...source_package 1. Using Debian tooling directly The 'dpkg-buildpackage' instructions do *not* work for my in my scratchbox (Ubuntu) enviroment. They for sure do not function in my primary 'Fedora' one. 2. Using mud-builder to help repackage existing upstream sources. Sorry, but this one looks like greek to me. Should I pursue this? 3. Using py2deb for Python applications. This was my first try, but I cannot install it on my N800, nor in Fedora (RPM-based!), nor on scratchbox (cannot find all dependencies). So, the bottom line is that I *am* trying to 'do the right thing', but there are just so many obstacles in the way that it just isn't falling into place. I have what I *think* are completely legitimate 'deb' packages -- ready to upload to 'extras' -- and I am stepping awkwardly backwards with my head spinning. I don't mean this to be a criticism of proper procedures -- only that, as a Fedora user, there doesn't seem to be any easy, working way for me to do this. Can somehow point me in the right direction? Thanks! |
Re: Uploading to Extras: For Fedora User?
Maybe Jeremiah Foster a.k.a. the debmaster can help?
|
Re: Uploading to Extras: For Fedora User?
I use Fedora.
dpkg-buildpackage does work in scratchbox, so you might want to look into that. Maybe download a simple package source from extras-devel, compare the output from dpkg-buildpackage to the logs of the autobuilder, or post the output here, on maemo-developers mailing list, if you can't find the error. I use dput from the system itself to upload to extras-devel (the autobuilder), using a dput srpm that I found here: http://download.opensuse.org/reposit...SUSE_11.0/src/ |
Re: Uploading to Extras: For Fedora User?
Quote:
If there's something that doesn't work for you in two setups (Ubuntu+Fedora), chances are that it's the packaging, not scratchbox/Fedora/Ubuntu. Any errors when you run Code:
dpkg-buildpackage -rfakeroot |
I think that the problem is that the instructions darethehair is referring doesn't tell what to do before dpkg-buildpackage can be used. In other words the instructions don't actually say anything about how to create debian packages.
Debian new maintainers' guide is a good starting point http://www.debian.org/doc/maint-guide/ |
Re: Uploading to Extras: For Fedora User?
Quote:
Code:
sbox-CHINOOK_ARMEL: ~/tricordersrc > dpkg-buildpackage -rfakeroot |
Re: Uploading to Extras: For Fedora User?
It's what mikkov said. You don't have anything (debian/ folder) for dpkg-buildpackage to actually make a package from. Follow the link mikkov gave. And maemo diablo reference manual touches on packaging a bit too.
|
Re: Uploading to Extras: For Fedora User?
just to make sure:
your package (or the thing that you want to turn into a package) does have a directory named debian with files like control, changelog, rules... in it? if not, you're probably trying to build from the original sources. it's better to start from the debian package (available from http://packages.debian.org/source/etch/gphoto2 for example for gphoto2) and change only the lines you need to change for the tablets. https://maemo.org/forrest-images/pdf/maemo-policy.pdf and http://maemo.org/maemo_release_docum....x/node14.html helped me a lot. |
Re: Uploading to Extras: For Fedora User?
Thanks a bunch, guys, for your attempts to help me -- I have spent the remainder of yesterday, and up till now today, in trying to do this stuff.
Bottom line so far: the 'dpkg-buildpackage' method *does* have hopes of working, but there are just too many non-standard things that need to be done for 'Python' apps that (for now) it is just not worth it. What do I mean? Makefiles, setup.py files, etc.. What seems to be working for me? Well, finding the 'modified' version of 'py2deb' (not the 'official' one that confused me). Even then, there are a lot of unanswered questions -- but at least I have (so far) managed to get something into the 'extras-devel' repository that way. Yes, it was a pain-in-the-you-know-what to put all the files into a 'flat' file structure -- so I have hopes that the next version will allow me just to supply my existing working nested source directory (the same ones as I used when doing it via 'pypackager'). The million $$$ next question is this: sure this technique works for *Python* apps, but what about my 'ports' of gphoto2 and graphviz? Since *I* have compiled all the necessary files, can I 'cheat' and use 'py2deb' as if it is just all a bunch of 'scripts', rather than a bunch of libraries and executables? I would hate to have to figure out the 'dpkg-buildpackage' way of doing those -- even though it might be easier since they are not Python. I think it was the 'rules' file that gave me the most trouble... It might sound very 'lazy' of me, but I don't want to spend my time learning how to 'package' applications, but rather 'writing' them. That being said, I *have* spent quite a few hours already barking up and down a bunch of trees reading and trying different things :) |
Re: Uploading to Extras: For Fedora User?
Quote:
Most of the packages are already in Debian and you should take packaging from there and tweak it a little to make it work with maemo. Here is graphviz for example http://packages.debian.org/lenny/graphviz |
Re: Uploading to Extras: For Fedora User?
mikkov:
Yes, I have confirmed that it is possible to use 'py2deb' even on binary packages like 'graphviz', but I will certainly investigate the possibility (as you suggest) of doing it a more 'normal' way. However, I will need to wrap my heard around the concept of packaging the *binaries* that I have compiled, and not the *source* of the app itself. Will this just all 'fall into place' if I go down that road? |
Re: Uploading to Extras: For Fedora User?
When done right, running dpkg-buildpackage should build the application (run Makefiles), and package everything up correctly.
|
Re: Uploading to Extras: For Fedora User?
Quote:
configure, build, install & binary. In configure, things like "configure" get run, which, if the program uses autotools, generates the Makefiles. In build, the "make" command gets ran which, as you probably know, generates the binary. In install, usually, "make install" gets ran which installs files to their right places. If not, you have to figure out how to get the file to the right place. And in binary, this is where the debhelper does its stuff in preparing and producing the deb. * The stages are correct but I am biased in me assuming autotools. Other build systems may be used, you'll have to make concessions then in that case. But graphviz uses autotools, so you should be ok. It's also worth noting that free is *only* for packages with source, not to mention that providing a binary w/out the source can infringe on the terms of some licenses. |
Re: Uploading to Extras: For Fedora User?
You can also see here:
http://repository.maemo.org/extras-d...gs_1.1_all.deb A simple example for a debian/ directory that packages a python program and works with dpkg-buildpackage (and with the autobuilder). It can easily be used to package any files (binary or otherwise) you created by some other method. |
Re: Uploading to Extras: For Fedora User?
Thanks again, all of you! I envy your casual approach to all this stuff. I guess that is the price I have paid for getting into app development so late in life -- the best that I can do is to use the *easiest* computer language (Python), and push 'packaging' onto the back burner as much as possible. :)
|
| All times are GMT. The time now is 22:03. |
vBulletin® Version 3.8.8