Skip to content

Commit

Permalink
Copied the sources from the distutils CVS repository.
Browse files Browse the repository at this point in the history
Changed the MSVC project file to create the exe in the
lib/distutils/command directory, bdist_wininst.py must still be
changed to use it.

Also changed to use the same zlib as the zlib module - this has the nice
sideeffect that now the buggy 1.1.3 version is no longer used.

Most of the source files now conform to PEP 7, except for the maximum
line length.  Windows api programming in 78 character lines =:(.

README.txt is a new file, but still empty except for placeholders.
  • Loading branch information
Thomas Heller committed Nov 22, 2002
1 parent 8bec483 commit bb4b7d2
Show file tree
Hide file tree
Showing 10 changed files with 3,125 additions and 0 deletions.
4 changes: 4 additions & 0 deletions PC/bdist_wininst/.cvsignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
temp-debug
temp-release
wininst.ncb
wininst.plg
Binary file added PC/bdist_wininst/PythonPowered.bmp
Binary file not shown.
5 changes: 5 additions & 0 deletions PC/bdist_wininst/README.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

XXX Write description
XXX Dont't forget to mention upx

XXX Add pointer to this file into PC/README.txt
96 changes: 96 additions & 0 deletions PC/bdist_wininst/archive.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
#pragma pack(1)

/* zip-archive headers
* See: http://www.pkware.com/appnote.html
*/

struct eof_cdir {
long tag; /* must be 0x06054b50 */
short disknum;
short firstdisk;
short nTotalCDirThis;
short nTotalCDir;
long nBytesCDir;
long ofsCDir;
short commentlen;
};

struct cdir {
long tag; /* must be 0x02014b50 */
short version_made;
short version_extract;
short gp_bitflag;
short comp_method;
short last_mod_file_time;
short last_mod_file_date;
long crc32;
long comp_size;
long uncomp_size;
short fname_length;
short extra_length;
short comment_length;
short disknum_start;
short int_file_attr;
long ext_file_attr;
long ofs_local_header;
};

struct fhdr {
long tag; /* must be 0x04034b50 */
short version_needed;
short flags;
short method;
short last_mod_file_time;
short last_mod_file_date;
long crc32;
long comp_size;
long uncomp_size;
short fname_length;
short extra_length;
};


struct meta_data_hdr {
int tag;
int uncomp_size;
int bitmap_size;
};

#pragma pack()

/* installation scheme */

typedef struct tagSCHEME {
char *name;
char *prefix;
} SCHEME;

typedef int (*NOTIFYPROC)(int code, LPSTR text, ...);

extern BOOL
extract_file(char *dst, char *src, int method, int comp_size,
int uncomp_size, NOTIFYPROC notify);

extern BOOL
unzip_archive(SCHEME *scheme, char *dirname, char *data,
DWORD size, NOTIFYPROC notify);

extern char *
map_new_file(DWORD flags, char *filename, char
*pathname_part, int size,
WORD wFatDate, WORD wFatTime,
NOTIFYPROC callback);

extern BOOL
ensure_directory (char *pathname, char *new_part,
NOTIFYPROC callback);

/* codes for NOITIFYPROC */
#define DIR_CREATED 1
#define CAN_OVERWRITE 2
#define FILE_CREATED 3
#define ZLIB_ERROR 4
#define SYSTEM_ERROR 5
#define NUM_FILES 6
#define FILE_OVERWRITTEN 7

Loading

0 comments on commit bb4b7d2

Please sign in to comment.