Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Added required binaries (will be compiled at a later stage) * Added uninstallation page * Added BitTorrent source * Added documentation and licenses * Connected download managers * Fixed download status updates * Added more information to the README * Made the tasklist thread daemonic so that it does not prevent the main application from quitting
- Loading branch information
Showing
1,369 changed files
with
168,584 additions
and
15,011 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,2 @@ | ||
/old | ||
/wine | ||
/dist* | ||
wubi.exe | ||
bin.old | ||
wine.old | ||
wine.old2 | ||
build | ||
build/* | ||
wine |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,3 @@ | ||
recursive-include storm *.py *.c | ||
recursive-include tests *.py *.txt | ||
|
||
include MANIFEST.in LICENSE README TODO NEWS Makefile setup.cfg test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,37 +1,37 @@ | ||
PYTHON = python | ||
PYWINE = tools/pywine | ||
|
||
all: build | ||
|
||
build: build_with_cx_freeze | ||
build: wubi | ||
|
||
wubi: check_wine pylauncher src/main.py src/wubi/*.py | ||
rm -rf build/wubi | ||
cp wine/drive_c/windows/system32/python23.dll build/pylauncher #TBD | ||
PYTHONPATH=src tools/pywine -OO build/pylauncher/pack.py src/main.py build/wubi data bin | ||
mv build/wubi/application.exe build/wubi.exe | ||
|
||
pylauncher: 7z src/pylauncher/*.c src/pylauncher/*.py | ||
cp -rf src/pylauncher build | ||
cd build/pylauncher; make | ||
|
||
build_with_pyinstaller: | ||
rm -rf dist | ||
mkdir -p dist | ||
tools/pyinstaller_build pyinstaller.spec | ||
# not compiling 7z at the moment, but source is used by pylauncher | ||
7z: src/7z/C/*.c | ||
cp -rf src/7z build | ||
|
||
build_with_cx_freeze: | ||
rm -rf build | ||
mkdir -p build/wubi | ||
tools/wine c:/cx_freeze/FreezePython.exe -OO --include-path src --install-dir build/wubi --base-binary Win32GUI src/wubi/wubi.py | ||
cp -a bin build/wubi | ||
cp -a data build/wubi | ||
cd build;7z a -t7z -m0=lzma -mx=9 -mfb=256 -md=32m -ms=on wubi.7z wubi | ||
echo ';!@Install@!UTF-8!\nTitle="Wubi, Windows Ubuntu Installer"\nRunProgram="wubi\wubi.exe "\n;!@InstallEnd@!'> build/7z.conf | ||
cat src/selfextract/7zS.sfx build/7z.conf build/wubi.7z > build/wubi.exe | ||
runbin: wubi | ||
rm -rf build/test | ||
mkdir build/test | ||
cd build/test; ../../tools/wine ../wubi.exe -v --skipsizecheck | ||
|
||
test: build/wubi.exe | ||
tools/wine build/wubi.exe -v | ||
check_wine: tools/check_wine | ||
tools/check_wine | ||
|
||
unittest: | ||
$(pywine) tools/test | ||
tools/pywine tools/test | ||
|
||
run: | ||
PYTHONPATH=src $(PYWINE) src/wubi/wubi.py -v --skipsizecheck | ||
runpy: | ||
PYTHONPATH=src tools/pywine src/main.py -v --skipsizecheck | ||
|
||
clean: | ||
rm -rf dist | ||
rm -rf build | ||
rm -rf buildpyinstaller | ||
rm -rf dist/* | ||
rm -rf build/* | ||
|
||
.PHONY: all build test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,59 @@ | ||
Wubi is the Windows Ubuntu Installer. | ||
== Introduction == | ||
|
||
Wubi is the Windows Ubuntu Installer. Wubi installs Ubuntu inside a file within a windows partition, and thus it does not require CD burning or dedicated partitions. Jet the installation is a dual boot setup identical to a normal installation. | ||
|
||
For more information see: | ||
|
||
http://wubi-installer.org | ||
http://wiki.ubuntu.com/WubiGuide | ||
|
||
To run wubi under wine directly from source, execute "make run" in the toplevel directory. | ||
To build and run the packaged binary, execute "make test" in the toplevel directory. | ||
== Compiling == | ||
|
||
* make: builds wubi.exe, note that the first time you run it, you will have to install python inside of wine, this is performed automatically, just confirm all the default choices in the installation screens that will appear. | ||
* make runpy: runs wubi under wine directly from source | ||
* make runbin: builds wubi and runs the packaged binary under wine | ||
|
||
== Code overview == | ||
|
||
* src/winui: thin ctypes wrapper around win32 native graphical user interface | ||
* src/pylauncher: makes python code into an executable, the python script is | ||
examined and all the dependencies are added to an lzma archive, then an | ||
executable header is concatenated to the archive that decompresses it and runs | ||
the script using the python dll | ||
* src/wubi: the main wubi application, the code is split between backend and | ||
frontend, where each runs in its own thread. The two interact via a tasklist object, | ||
where the frontend usually runs a tasklist which is a set of backend tasks. Backends | ||
and frontends are platform specific. For now only the Windows platform is supported. | ||
* data: settings for wubi branding and customization | ||
* po: translations | ||
|
||
== Wubi tasks == | ||
|
||
Wubi performs the following tasks | ||
|
||
* feteches information about the running system which will be used during installation | ||
* checks that the minimum installation requirements are met | ||
* retrieves required user information via a GUI | ||
* looks for available local CDs and ISO files | ||
* downloads the ISO if one is required, using bittorrent and an http download manager | ||
* checks the ISO/CD md5 sums and the md5 signature | ||
* extracts the kernel and initrd from the ISO | ||
* adds a new boot entry to the existing windows bootloader | ||
* prepares a preseed file to be used during the linux-side installation | ||
* allocates space for the virtual disk files | ||
|
||
The actual installation is performed within linux after rebooting the machine | ||
|
||
== Customizations == | ||
|
||
* edit the files in data as appropriate and build your image | ||
* you will need to provide an ISO that is similar to the Ubuntu ISO and in particular it must have .disk/info formatted like .disk/info in the Ubuntu ISO | ||
* you must provide a webserver with metalink file, metalink file md5 checksums and signatures for the md5 sums | ||
* add your signing key to data/trustedkeys.gpg | ||
|
||
== License == | ||
|
||
GPL v2 | ||
|
||
See LICENSE | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.