Cross package maker. DEB/RPM generation or conversion. Derived from jordansissel/fpm.

⌈⌋ branch:  cross package maker


Check-in [2eedb24578]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:- Add notes
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 2eedb24578a97603f352cbc68641bcedc8768a78
User & Date: jls@semicomplete.com 2011-01-13 09:59:10
Context
2011-01-13
23:34
- Fix issue/2 - we were accidentally ignoring deps specified via commandline. check-in: c953a535a4 user: jls@semicomplete.com tags: trunk
09:59
- Add notes check-in: 2eedb24578 user: jls@semicomplete.com tags: trunk
00:24
- Add example of building a python package to a .deb check-in: 4c61ef713f user: jls@semicomplete.com tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Added NOTES.md.











































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53

# Debian notes

## C libraries

Linux seems to require 'ldconfig' runs after shared libraries are installe. I
haven't bothered digging into why, but many debian C library packages run
ldconfig as a postinstall step.

I'd like to avoid postinstall actions, so this needs research to see if this is
possible.

## Ruby

rubygems on Debian/Ubuntu is not very recent in most cases, and some gems have
a requirement of rubygems >= a version you have available.

Further, debian blocks 'gem update --system' which you can get around by doing:

    % gem install rubygems-update
    % ruby /var/lib/gems/1.8/gems/rubygems-update-1.3.1/bin/update_rubygems

I recommend packaging 'rubygems-update' (fpm -s gem -t deb rubygems-update) and
possibly running the update_rubygems as a postinstall, even though I don't like
postinstalls. I haven't looked yet to see what is required to mimic (if
possible) the actions of that script simply in a tarball.

## Python

http://www.debian.org/doc/packaging-manuals/python-policy/ap-packaging_tools.html

Debian python packages all rely on some form of python-central or
python-support (different tools that do similar/same things? I don't know)

As I found, disabling postinst scripts in Debian causes Python to stop working.
The postinst scripts generally look like this:

    if which update-python-modules >/dev/null 2>&1; then
      update-python-modules  SOMEPACKAGENAME.public
    fi

I don't believe in postinst scripts, and I also feel like requiring a
postinstall step to make a python module work is quite silly - though I'm sure
(I hope) Debian had good reason.

So, I'm going to try working on a howto for recommended ways to build python
packages with fpm in debian. It will likely require a one-time addition to
site.py (/usr/lib/python2.6/site.py) or some other PYTHONPATH hackery, though
I don't know just yet.

It will also require special setup.py invocations as Debian has patched distutils to 
install python packages, by default, to a place that requires again the
python-central/support tools to run to make them work.