Пример #1
0
def prepare_sysroot():
    '''
    Creates intercept script and test package.
    '''
    # Add a intercept script for ls to the sysroot
    touch_dir('%s/usr/local/share/opkg/intercept' % cfg.offline_root)
    with open('%s/usr/local/share/opkg/intercept/ls' % cfg.offline_root,
              'w') as f:
        os.fchmod(f.fileno(), 0o755)
        f.write('\n'.join([
            '#!/bin/sh',
            'set -e',
            'exeFileName="`basename "$1"`"',
            'echo -n \"intercept from $exeFileName:\" >> \'%s\'' % TEST_LOG,
            'echo "ls $* was intercepted"',
        ]))

    o = opk.OpkGroup()

    # Add a test package
    a = opk.Opk(Package='a')
    a.postinst = '\n'.join([
        '#!/bin/sh',
        'set -e',
        'ls "$0"',
    ])
    o.addOpk(a)

    o.write_opk()
    o.write_list()
Пример #2
0
#
# root@terminal:# opkg upgrade -force-defaults -autoremove
# Upgrading A on root from 1.0-r0.1 to 2.0-r0.1...
# Downloading ...
# Installing C (1.0-r0) to root...
# Collected errors: * ERROR: The following packages conflict with C: *
#
# Status: Accepted
#

import os
import opk, cfg, opkgcl

opk.regress_init()

o = opk.OpkGroup()
o.add(Package="a", Version="1.0", Depends="b")
o.add(Package="b")
o.write_opk()
o.write_list()
opkgcl.update()
opkgcl.install("a")

o = opk.OpkGroup()
o.add(Package="a", Version="2.0", Depends="c")
o.add(Package="c", Conflicts="b")
o.write_opk()
o.write_list()

opkgcl.update()
status = opkgcl.upgrade("a", "--autoremove")