maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Development (https://talk.maemo.org/forumdisplay.php?f=13)
-   -   Uploading to Extras: For Fedora User? (https://talk.maemo.org/showthread.php?t=27114)

darethehair 2009-02-24 21:59

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!

BrentDC 2009-02-24 22:03

Re: Uploading to Extras: For Fedora User?
 
Maybe Jeremiah Foster a.k.a. the debmaster can help?

Matan 2009-02-24 22:24

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/

benny1967 2009-02-24 22:45

Re: Uploading to Extras: For Fedora User?
 
Quote:

Originally Posted by darethehair (Post 266893)
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.

They should - in principle. At least, they work on my gentoo-box (with no relation to Debian whatsoever), so I take this as a proof that scratchbox is really completely self-contained. ;)

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
?

mikkov 2009-02-24 22:58

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/

darethehair 2009-02-24 23:01

Re: Uploading to Extras: For Fedora User?
 
Quote:

Originally Posted by benny1967 (Post 266912)

Any errors when you run
Code:

dpkg-buildpackage -rfakeroot
?

Thanks for trying to help, guys! My Fedora desktop is what I used to develop my Python apps. My Ubuntu PC is a completely separate laptop that I used to compile gphoto2, pyephem, and graphviz, and that is where I tried 'dkpg-buildpackage':

Code:

sbox-CHINOOK_ARMEL: ~/tricordersrc > dpkg-buildpackage -rfakeroot
dpkg-parsechangelog: error: cannot open debian/changelog to find format: No such file or directory
dpkg-buildpackage: unable to determine source package is

This is greek to me :)

qwerty12 2009-02-24 23:12

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.

benny1967 2009-02-24 23:16

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.

darethehair 2009-02-25 19:23

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 :)

mikkov 2009-02-26 22:15

Re: Uploading to Extras: For Fedora User?
 
Quote:

Originally Posted by darethehair (Post 267115)
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?

Unfortunately you can do it (and you have done it, I've noticed), but is certainly doesn't mean that you should do it.

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

darethehair 2009-02-26 23:33

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?

TrueJournals 2009-02-27 00:56

Re: Uploading to Extras: For Fedora User?
 
When done right, running dpkg-buildpackage should build the application (run Makefiles), and package everything up correctly.

qwerty12 2009-02-27 07:32

Re: Uploading to Extras: For Fedora User?
 
Quote:

Originally Posted by darethehair (Post 267434)
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?

debian/rules files have at least 4 "stages".

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.

Matan 2009-02-27 09:43

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.

darethehair 2009-02-27 14:33

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