View Single Post
robin92's Avatar
Posts: 476 | Thanked: 438 times | Joined on Nov 2010 @ Sweden
#17
Code:
#!/usr/bin/python2.5
# -*- coding: utf-8 -*-
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published
## by the Free Software Foundation; version 2 only.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.
##
import py2deb
import os
if __name__ == "__main__":
    try:
        os.chdir(os.path.dirname(sys.argv[0]))
    except:
        pass
    print
    p=py2deb.Py2deb("mango")
    p.description="white circles icon pack"
    p.author="robin92"
    p.mail="r.lundgren92@gmail.com"
    p.depends = "gtk2-engines-sapwood, hildon-theme-cacher"
    # Edit this based on your import statements (for example, you probably will not need pygame)
    p.section="user/desktop"
    # When editing the .section, make sure to use [[Packaging#Sections|an allowed section]] - otherwise the autobuilder will give a warning.
    p.icon = "/home/user/MyDocs/mango/logo.png"
    p.arch="all"                #should be all for python, any for all arch
    p.urgency="low"             #not used in maemo onl for deb os
    p.distribution="fremantle"
    p.repository="extras-devel"
    p.postinstall="""#! /bin/sh -e

# Added by maemo-optify, with apologies.

optify () {
    f="$1"
    if [ ! -h "/$f" ]; then

        # This is not atomic, but re-startable: if interrupted, doing
        # this again will eventually finish with the correct result.
        #
        # XXX - At least that's the idea, but tar needs to be properly
        #       instructed to overwrite the targets.

        echo >&2 "Optifying $f -> /opt/maemo/$f"
        if [ -d "/$f" ]; then
            (cd "/" && tar cf - "$f") | (cd "/opt/maemo/" && tar xf -)
        fi
        mv "/$f" "/$f.removed"
        ln -s "/opt/maemo/$f" "/$f"
    fi

    if [ -e "/$f.removed" ]; then
        rm -rf "/$f.removed"
    fi
}

"""

    #p.postremove=
    #p.preinstall="""#!/bin/sh
    #p.preremove="""#!/bin/sh

version = "0.1"           #Version of your software, for example "1.2.0" or "0.8.2"
build = "1"                 #Build number, for example "1" for the first build of this version of your software. Increment for later re-builds of the same version of your software.
                                #Text with changelog information to be displayed in the package "Details" tab of the Maemo Application Manager
changeloginformation = "Faraway from done!" 
dir_name = "src"            #Name of the subfolder containing your package source files (for example, usr\share\icons\hicolor\scalable\myappicon.svg, usr\lib\myapp\somelib.py). We suggest to leave it named src in all projects and will refer to that in the wiki article on maemo.org
    #Thanks to DareTheHair from talk.maemo.org for this snippet that recursively builds the file list.
for root, dirs, files in os.walk(dir_name):
        real_dir = "/" + root[len(dir_name):]
        fake_file = []
        for f in files:
            fake_file.append(root + os.sep + f + "|" + f)
        if len(fake_file) > 0:
            p[real_dir] = fake_file
print p
r = p.generate(version,build,changelog=changeloginformation,tar=True,dsc=True,changes=True,build=False,src=True)