!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache/2.2.16 (Debian). PHP/5.3.3-7+squeeze19 

uname -a: Linux mail.tri-specialutilitydistrict.com 2.6.32-5-amd64 #1 SMP Tue May 13 16:34:35 UTC
2014 x86_64
 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/usr/share/pyshared/twisted/scripts/   drwxr-xr-x
Free 129.99 GB of 142.11 GB (91.47%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     tap2rpm.py (8.84 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
# -*- test-case-name: twisted.scripts.test.test_tap2rpm -*-
# Copyright (c) 2003-2010 Twisted Matrix Laboratories.
# See LICENSE for details.

import sys, os, shutil, time, glob
import subprocess
import tempfile
import tarfile
from StringIO import StringIO

from twisted.python import usage, log


#################################
#  data that goes in /etc/inittab
initFileData = '''\
#!/bin/sh
#
#  Startup script for a Twisted service.
#
#  chkconfig: - 85 15
#  description: Start-up script for the Twisted service "%(tap_file)s".

PATH=/usr/bin:/bin:/usr/sbin:/sbin

pidfile=/var/run/%(rpm_file)s.pid
rundir=/var/lib/twisted-taps/%(rpm_file)s/
file=/etc/twisted-taps/%(tap_file)s
logfile=/var/log/%(rpm_file)s.log

#  load init function library
. /etc/init.d/functions

[ -r /etc/default/%(rpm_file)s ] && . /etc/default/%(rpm_file)s

#  check for required files
if [ ! -x /usr/bin/twistd ]
then
    echo "$0: Aborting, no /usr/bin/twistd found"
    exit 0
fi
if [ ! -r "$file" ]
then
    echo "$0: Aborting, no file $file found."
    exit 0
fi

#  set up run directory if necessary
if [ ! -d "${rundir}" ]
then
    mkdir -p "${rundir}"
fi


case "$1" in
    start)
        echo -n "Starting %(rpm_file)s: twistd"
        daemon twistd  \\
                --pidfile=$pidfile \\
                --rundir=$rundir \\
                --%(twistd_option)s=$file \\
                --logfile=$logfile
        status %(rpm_file)s
        ;;

    stop)
        echo -n "Stopping %(rpm_file)s: twistd"
        kill `cat "${pidfile}"`
        status %(rpm_file)s
        ;;

    restart)
        "${0}" stop
        "${0}" start
        ;;

    *)
        echo "Usage: ${0} {start|stop|restart|}" >&2
        exit 1
        ;;
esac

exit 0
'''

#######################################
#  the data for creating the spec file
specFileData = '''\
Summary:    %(description)s
Name:       %(rpm_file)s
Version:    %(version)s
Release:    1
License:    Unknown
Group:      Networking/Daemons
Source:     %(tarfile_basename)s
BuildRoot:  %%{_tmppath}/%%{name}-%%{version}-root
Requires:   /usr/bin/twistd
BuildArch:  noarch

%%description
%(long_description)s

%%prep
%%setup
%%build

%%install
[ ! -z "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != '/' ] \
        && rm -rf "$RPM_BUILD_ROOT"
mkdir -p "$RPM_BUILD_ROOT"/etc/twisted-taps
mkdir -p "$RPM_BUILD_ROOT"/etc/init.d
mkdir -p "$RPM_BUILD_ROOT"/var/lib/twisted-taps
cp "%(tap_file)s" "$RPM_BUILD_ROOT"/etc/twisted-taps/
cp "%(rpm_file)s.init" "$RPM_BUILD_ROOT"/etc/init.d/"%(rpm_file)s"

%%clean
[ ! -z "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != '/' ] \
        && rm -rf "$RPM_BUILD_ROOT"

%%post
/sbin/chkconfig --add %(rpm_file)s
/sbin/chkconfig --level 35 %(rpm_file)s
/etc/init.d/%(rpm_file)s start

%%preun
/etc/init.d/%(rpm_file)s stop
/sbin/chkconfig --del %(rpm_file)s

%%files
%%defattr(-,root,root)
%%attr(0755,root,root) /etc/init.d/%(rpm_file)s
%%attr(0660,root,root) /etc/twisted-taps/%(tap_file)s

%%changelog
* %(date)s %(maintainer)s
- Created by tap2rpm: %(rpm_file)s (%(version)s)
'''

###############################
class MyOptions(usage.Options):
    optFlags = [["unsigned", "u"], ['quiet', 'q']]
    optParameters = [
                     ["tapfile", "t", "twistd.tap"],
                     ["maintainer", "m", "tap2rpm"],
                     ["protocol", "p", None],
                     ["description", "e", None],
                     ["long_description", "l",
                         "Automatically created by tap2rpm"],
                     ["set-version", "V", "1.0"],
                     ["rpmfile", "r", None],
                     ["type", "y", "tap", "type of configuration: 'tap', 'xml, "
                      "'source' or 'python'"],
                    ]

    #zsh_altArgDescr = {"foo":"use this description for foo instead"}
    #zsh_multiUse = ["foo", "bar"]
    #zsh_mutuallyExclusive = [("foo", "bar"), ("bar", "baz")]
    zsh_actions = {"type":"(tap xml source python)",
                   "rpmfile":'_files -g "*.rpm"'}
    #zsh_actionDescr = {"logfile":"log file name", "random":"random seed"}

    def postOptions(self):
        """
        Calculate the default values for certain command-line options.
        """
        # Options whose defaults depend on other parameters.
        if self['protocol'] is None:
            base_tapfile = os.path.basename(self['tapfile'])
            self['protocol'] = os.path.splitext(base_tapfile)[0]
        if self['description'] is None:
            self['description'] = "A TCP server for %s" % (self['protocol'],)
        if self['rpmfile'] is None:
            self['rpmfile'] = 'twisted-%s' % (self['protocol'],)

        # Values that aren't options, but are calculated from options and are
        # handy to have around.
        self['twistd_option'] = type_dict[self['type']]
        self['release-name'] = '%s-%s' % (self['rpmfile'], self['set-version'])



type_dict = {
    'tap': 'file',
    'python': 'python',
    'source': 'source',
    'xml': 'xml',
}



##########################
def makeBuildDir():
    """
    Set up the temporary directory for building RPMs.

    Returns: buildDir, a randomly-named subdirectory of baseDir.
    """
    tmpDir = tempfile.mkdtemp()
    #  set up initial directory contents
    os.makedirs(os.path.join(tmpDir, 'RPMS', 'noarch'))
    os.makedirs(os.path.join(tmpDir, 'SPECS'))
    os.makedirs(os.path.join(tmpDir, 'BUILD'))
    os.makedirs(os.path.join(tmpDir, 'SOURCES'))
    os.makedirs(os.path.join(tmpDir, 'SRPMS'))

    log.msg(format="Created RPM build structure in %(path)r",
            path=tmpDir)
    return tmpDir



def setupBuildFiles(buildDir, config):
    """
    Create files required to build an RPM in the build directory.
    """
    # Create the source tarball in the SOURCES directory.
    tarballName = "%s.tar" % (config['release-name'],)
    tarballPath = os.path.join(buildDir, "SOURCES", tarballName)
    tarballHandle = tarfile.open(tarballPath, "w")

    sourceDirInfo = tarfile.TarInfo(config['release-name'])
    sourceDirInfo.type = tarfile.DIRTYPE
    sourceDirInfo.mode = 0755
    tarballHandle.addfile(sourceDirInfo)

    tapFileBase = os.path.basename(config['tapfile'])

    initFileInfo = tarfile.TarInfo(
            os.path.join(
                config['release-name'],
                '%s.init' % config['rpmfile'],
            )
        )
    initFileInfo.type = tarfile.REGTYPE
    initFileInfo.mode = 0755
    initFileRealData = initFileData % {
            'tap_file': tapFileBase,
            'rpm_file': config['release-name'],
            'twistd_option': config['twistd_option'],
        }
    initFileInfo.size = len(initFileRealData)
    tarballHandle.addfile(initFileInfo, StringIO(initFileRealData))

    tapFileHandle = open(config['tapfile'], 'rb')
    tapFileInfo = tarballHandle.gettarinfo(
            arcname=os.path.join(config['release-name'], tapFileBase),
            fileobj=tapFileHandle,
        )
    tapFileInfo.mode = 0644
    tarballHandle.addfile(tapFileInfo, tapFileHandle)

    tarballHandle.close()

    log.msg(format="Created dummy source tarball %(tarballPath)r",
            tarballPath=tarballPath)

    # Create the spec file in the SPECS directory.
    specName = "%s.spec" % (config['release-name'],)
    specPath = os.path.join(buildDir, "SPECS", specName)
    specHandle = open(specPath, "w")
    specFileRealData = specFileData % {
            'description': config['description'],
            'rpm_file': config['rpmfile'],
            'version': config['set-version'],
            'tarfile_basename': tarballName,
            'tap_file': tapFileBase,
            'date': time.strftime('%a %b %d %Y', time.localtime(time.time())),
            'maintainer': config['maintainer'],
            'long_description': config['long_description'],
        }
    specHandle.write(specFileRealData)
    specHandle.close()

    log.msg(format="Created RPM spec file %(specPath)r",
            specPath=specPath)

    return specPath



def run(options=None):
    #  parse options
    try:
        config = MyOptions()
        config.parseOptions(options)
    except usage.error, ue:
         sys.exit("%s: %s" % (sys.argv[0], ue))

    #  create RPM build environment
    tmpDir = makeBuildDir()
    specPath = setupBuildFiles(tmpDir, config)

    #  build rpm
    job = subprocess.Popen([
            "rpmbuild",
            "-vv",
            "--define", "_topdir %s" % (tmpDir,),
            "-ba", specPath,
        ], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
    stdout, _ = job.communicate()

    # If there was a problem, show people what it was.
    if job.returncode != 0:
        print stdout

    #  copy the RPMs to the local directory
    rpmPath = glob.glob(os.path.join(tmpDir, 'RPMS', 'noarch', '*'))[0]
    srpmPath = glob.glob(os.path.join(tmpDir, 'SRPMS', '*'))[0]
    if not config['quiet']:
        print 'Writing "%s"...' % os.path.basename(rpmPath)
    shutil.copy(rpmPath, '.')
    if not config['quiet']:
        print 'Writing "%s"...' % os.path.basename(srpmPath)
    shutil.copy(srpmPath, '.')

    #  remove the build directory
    shutil.rmtree(tmpDir)

    return [os.path.basename(rpmPath), os.path.basename(srpmPath)]

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0118 ]--