Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 50.322.444 Times

dbmakefakelib 1.0

Company: Steve H.
Date Added: November 20, 2013  |  Visits: 357

dbmakefakelib

Report Broken Link
Printer Friendly Version


Product Homepage
Download (42 downloads)



dbmakefakelib is an experimental Python script that generates stub GUI libraries for the Linux version of Dropbox.<br /><br />You may want to use this if installing Dropbox on a Linux machine that doesn't have any of the following GUI libraries:<br /><br />libgtk-x11-2.0.so.0<br />libgdk-x11-2.0.so.0<br />libatk-1.0.so.0<br />libgdk_pixbuf-2.0.so.0<br />libpango-1.0.so.0<br /><br />This is quite common on server installations of Linux, which may be deliberately headless or with only a text console.<br /><br />By repeatedly executing the Dropbox daemon and seeing how it fails to start, the script uses gcc to build a fake library full of functions that do nothing. This seems to be sufficient to fool the Dropbox daemon into thinking the real libraries are there, so it starts up. It can then be set up to run as a background process as usual.<br /><br />Usage Example<br /><br />$ python dbmakefakelib.py<br />adding library libgtk-x11-2.0.so.0<br />adding library libgdk-x11-2.0.so.0<br />adding library libatk-1.0.so.0<br />adding library libgdk_pixbuf-2.0.so.0<br />adding library libpango-1.0.so.0<br />adding library libgobject-2.0.so.0<br />adding library libgmodule-2.0.so.0<br />adding library libgthread-2.0.so.0<br />adding library libglib-2.0.so.0<br />adding function gtk_tree_view_new<br />adding function gtk_toolbar_new<br />adding function g_threads_got_initialized<br />adding function gtk_grab_remove<br />adding function gtk_button_new<br />adding function gtk_frame_new<br />adding function gtk_major_version<br />... lots more of this ...<br />adding function g_static_rw_lock_writer_unlock<br />adding function g_value_set_boxed_take_ownership<br />adding function g_boxed_type_register_static<br />adding function g_datalist_clear<br />dropboxd ran for 15 seconds without quitting - success?<br /><br />(Note that this will take some time as dropboxd will likely be unsuccessfully executed almost 800 times before the fake library file is complete.)<br /><br />Source Code<br /><br />dbmakefakelib.py<br /><br />import commands, re, os, threading, time, sys<br /><br />WAIT_TIME = 15<br /><br />class monitor_thread(threading.Thread):<br /> def __init__(self):<br /> self.pulse()<br /> threading.Thread.__init__ (self)<br /><br /> def run(self):<br /> while time.time() - self.lasttime < WAIT_TIME:<br /> time.sleep(1)<br /> if self.lasttime > 0:<br /> print "dropboxd ran for %u seconds without quitting - success?" % WAIT_TIME<br /> commands.getstatusoutput("killall dropboxd")<br /><br /> def pulse(self):<br /> self.lasttime = time.time()<br /><br /> def stop(self):<br /> self.lasttime = 0<br /><br />mon = monitor_thread()<br />mon.start()<br /><br />try:<br /> r_undef = re.compile('ImportError: /.*/.dropbox-dist/(.*?): undefined symbol: (.*)')<br /> r_noso = re.compile('ImportError: (.*): cannot open shared object file: No such file or directory')<br /> ok = True<br /> errmsg = ""<br /> dropboxd = os.path.expanduser("~/.dropbox-dist/dropboxd")<br /><br /> def compile_fakelib():<br /> ret = commands.getstatusoutput("gcc -fPIC -shared -o ~/.dropbox-dist/fakelib fakelib.c")<br /> if ret[0] != 0:<br /> raise Exception, ret[1]<br /><br /> commands.getstatusoutput('echo "#define E(f) int f() {return 0;}" > fakelib.c')<br /> compile_fakelib()<br /><br /> while ok:<br /> ok = False<br /> mon.pulse()<br /> errmsg = commands.getoutput(dropboxd)<br /><br /> found = r_noso.findall(errmsg.split("n")[-1])<br /> if found != []:<br /> print "adding library " + found[0]<br /> commands.getstatusoutput("ln -s fakelib ~/.dropbox-dist/" + found[0])<br /> ok = True<br /><br /> found = r_undef.findall(errmsg.split("n")[-1])<br /> if found != []:<br /> print "adding function "+ found[0][1]<br /> ret = commands.getstatusoutput('echo "E(' + found[0][1] + ')" >> fakelib.c')<br /> compile_fakelib()<br /> ok = True<br />except:<br /> mon.stop()<br /> raise<br /><br />print errmsg<br />mon.stop()

Requirements: No special requirements
Platforms: *nix, Linux
Keyword: Commandsgetstatusoutput Echo Compile Fakelib Daemon Dropbox Errmsg Fakelibc Found Function Library Linux Print Quotadding Recompile Importerror Script Selflasttime Shared Timetime Wait Time
Users rating: 0/10

License: Freeware Size: 10.24 KB
USER REVIEWS
More Reviews or Write Review


DBMAKEFAKELIB RELATED
File Utilities  -  ESE Key Daemon 1.2.4
ESE Key Daemon is a multimedia keyboard driver for Linux. No kernel patch is needed. ESE Key Daemon is a userspace program which pools /dev/input/event interfaces for incoming keyboard key presses.
124.93 KB  
Utilities  -  KeyWatcher 2.0.1
KeyWatcher is a daemon that monitors events from the new Linux input system and to perform actions based on certain events. In other words, multimedia keys like play, stop, mute, etc. can be made to do what they say... KeyWatcher is similar to...
99.33 KB  
DNS Tools  -  BIND 9.4.1-P1
The BIND consists of a server (or `daemon) called `named and a resolver library. A name server is a network service that enables clients to name resources or objects and share this information with other objects in the network. BIND 8.4.5 is...
5.2 MB  
Games  -  OpenFrag 0.5.2
OpenFrag is an Open Source, multi-platform game. It plays in a medieval environment where Orcs and Humans fight to the death in a multiplayer session. Compile instructions and dependencies can be found on the following wiki page:...
14.39 MB  
Network & Internet  -  fkey 0.1.3
Scalable finger daemon type server for public display of user speciffied files. Ie: pgp keys, contact information. Users edit their data file (supplied as ASCII text file) and the finger daemon displays it on public request. May be used as banner...
81.92 KB  
Programming  -  SimpleDaemon 1.0.1
SimpleDaemon is a fork of Shane Hathaway's daemon.py script. Example Writing a daemon requires creating two files, a daemon file and a configuration file with the same name. hellodaemon.py: import...
10.24 KB  
Utilities  -  doinkd 0.01
doinkd project is a "daemon" that runs on a machine to keep an eye on current users. If users have been idle for too long, or have been logged on for too long, it will warn them and log them out appropriately. The types of checks that doinkd...
57.34 KB  
Networking Tools  -  ypbind-mt 1.20.1
ypbind-mt is a multi-threaded implementation of a NIS binding daemon. ypbind-mt compiles and works on Linux with glibx 2.x (libc6). It should work on every System with POSIX threads and glibc 2.x. ypbind-mt works under Linux with libc5 and...
225.28 KB  
Network & Internet  -  httpcmdd 1.0
httpcmdd provides a way to have (web) browser user interface to programs running on the same machine as the browser. httpcmdd PEEKs the headers of the incoming message from browser and find program that matches the request received. Programs are...
34.82 KB  
Utilities  -  Exquisite Beta
Exquisite is a Ubuntu Linux spin off that offers a beautiful and simple interface. It has a wealth of applications and all media codecs. By downloading this image you agree to the java, dropbox, mp3, and other licenses that are included.
410.91 MB  
NEW DOWNLOADS IN LINUX SOFTWARE, PROGRAMMING
Linux Software  -  EasyEDA PCB Designer for Linux 2.0.0
EasyEDA, a great web based EDA(Electronics Design Automation) tool, online PCB tool, online PCB software for electronics engineers, educators, students, makers and enthusiasts. Theres no need to install any software. Just open EasyEDA in any...
34.4 MB  
Linux Software  -  wpCache® WordPress HTTP Cache 1.9
wpCache® is a high-performance, distributed object, caching system application, generic in nature, but intended for use in speeding up dynamic web applications, by decreasing database load time. wpCache® decreases dramatically the page...
3.51 MB  
Linux Software  -  Polling Autodialer Software 3.4
ICTBroadcast Auto Dialer software has a survey campaign for telephone surveys and polls. This auto dialer software automatically dials a list of numbers and asks them a set of questions that they can respond to, by using their telephone keypad....
488 B  
Linux Software  -  Total Video Converter Mac Free 3.5.5
Total Video Converter Mac Free developed by EffectMatrix Ltd is the official legal version of Total Video Converter which was a globally recognized brand since 2006. Total Video Converter Mac Free is a free but powerful all-in-one video...
17.7 MB  
Linux Software  -  Skeith mod_log_sql Analyzer 2.10beta2
Skeith is a php based front end for analyzing logs for Apache using mod_log_sql.
47.5 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB