diff -u -r ../busybox-1.22.1/archival/dpkg.c ./archival/dpkg.c
--- ../busybox-1.22.1/archival/dpkg.c	2014-01-09 19:15:44.000000000 +0100
+++ ./archival/dpkg.c	2014-01-20 08:52:03.000000000 +0100
@@ -813,8 +813,8 @@
 /* This could do with a cleanup */
 static void write_status_file(deb_file_t **deb_file)
 {
-	FILE *old_status_file = xfopen_for_read("/var/lib/dpkg/status");
-	FILE *new_status_file = xfopen_for_write("/var/lib/dpkg/status.udeb");
+	FILE *old_status_file = xfopen_for_read("@TERMUX_PREFIX@/var/lib/dpkg/status");
+	FILE *new_status_file = xfopen_for_write("@TERMUX_PREFIX@/var/lib/dpkg/status.udeb");
 	char *package_name;
 	char *status_from_file;
 	char *control_buffer = NULL;
@@ -942,7 +942,7 @@
 	fclose(new_status_file);
 
 	/* Create a separate backfile to dpkg */
-	if (rename("/var/lib/dpkg/status", "/var/lib/dpkg/status.udeb.bak") == -1) {
+	if (rename("@TERMUX_PREFIX@/var/lib/dpkg/status", "@TERMUX_PREFIX@/var/lib/dpkg/status.udeb.bak") == -1) {
 		if (errno != ENOENT)
 			bb_error_msg_and_die("can't create backup status file");
 		/* Its ok if renaming the status file fails because status
@@ -950,7 +950,7 @@
 		bb_error_msg("no status file found, creating new one");
 	}
 
-	xrename("/var/lib/dpkg/status.udeb", "/var/lib/dpkg/status");
+	xrename("@TERMUX_PREFIX@/var/lib/dpkg/status.udeb", "@TERMUX_PREFIX@/var/lib/dpkg/status");
 }
 
 /* This function returns TRUE if the given package can satisfy a
@@ -1242,7 +1242,7 @@
 	char *script_path;
 	int result;
 
-	script_path = xasprintf("/var/lib/dpkg/info/%s.%s", package_name, script_type);
+	script_path = xasprintf("@TERMUX_PREFIX@/var/lib/dpkg/info/%s.%s", package_name, script_type);
 
 	/* If the file doesnt exist is isnt fatal */
 	result = access(script_path, F_OK) ? EXIT_SUCCESS : system(script_path);
@@ -1295,7 +1295,7 @@
 	/* Create a list of all /var/lib/dpkg/info/<package> files */
 	remove_files = xzalloc(sizeof(all_control_files) + sizeof(char*));
 	while (i < ARRAY_SIZE(all_control_files)) {
-		remove_files[i] = xasprintf("/var/lib/dpkg/info/%s.%s",
+		remove_files[i] = xasprintf("@TERMUX_PREFIX@/var/lib/dpkg/info/%s.%s",
 				package_name, all_control_files[i]);
 		i++;
 	}
@@ -1366,8 +1366,8 @@
 	const int package_name_length = strlen(package_name);
 	char **remove_files;
 	char **exclude_files;
-	char list_name[package_name_length + 25];
-	char conffile_name[package_name_length + 30];
+	char list_name[package_name_length + 100];
+	char conffile_name[package_name_length + 100];
 
 	if (noisy)
 		printf("Removing %s (%s)...\n", package_name, package_version);
@@ -1376,10 +1376,10 @@
 	run_package_script_or_die(package_name, "prerm");
 
 	/* Create a list of files to remove, and a separate list of those to keep */
-	sprintf(list_name, "/var/lib/dpkg/info/%s.%s", package_name, "list");
+	sprintf(list_name, "@TERMUX_PREFIX@/var/lib/dpkg/info/%s.%s", package_name, "list");
 	remove_files = create_list(list_name);
 
-	sprintf(conffile_name, "/var/lib/dpkg/info/%s.%s", package_name, "conffiles");
+	sprintf(conffile_name, "@TERMUX_PREFIX@/var/lib/dpkg/info/%s.%s", package_name, "conffiles");
 	exclude_files = create_list(conffile_name);
 
 	/* Some directories can't be removed straight away, so do multiple passes */
@@ -1391,7 +1391,7 @@
 	/* Create a list of files in /var/lib/dpkg/info/<package>.* to keep */
 	exclude_files = xzalloc(sizeof(exclude_files[0]) * 3);
 	exclude_files[0] = xstrdup(conffile_name);
-	exclude_files[1] = xasprintf("/var/lib/dpkg/info/%s.%s", package_name, "postrm");
+	exclude_files[1] = xasprintf("@TERMUX_PREFIX@/var/lib/dpkg/info/%s.%s", package_name, "postrm");
 
 	/* Create a list of all /var/lib/dpkg/info/<package> files */
 	remove_files = all_control_list(package_name);
@@ -1416,7 +1416,7 @@
 	const unsigned status_num = search_status_hashtable(package_name);
 	char **remove_files;
 	char **exclude_files;
-	char list_name[strlen(package_name) + 25];
+	char list_name[strlen(package_name) + 100];
 
 	printf("Purging %s (%s)...\n", package_name, package_version);
 
@@ -1424,7 +1424,7 @@
 	run_package_script_or_die(package_name, "prerm");
 
 	/* Create a list of files to remove */
-	sprintf(list_name, "/var/lib/dpkg/info/%s.%s", package_name, "list");
+	sprintf(list_name, "@TERMUX_PREFIX@/var/lib/dpkg/info/%s.%s", package_name, "list");
 	remove_files = create_list(list_name);
 
 	/* Some directories cant be removed straight away, so do multiple passes */
@@ -1437,7 +1437,7 @@
 
 	/* Delete all of them except the postrm script */
 	exclude_files = xzalloc(sizeof(exclude_files[0]) * 2);
-	exclude_files[0] = xasprintf("/var/lib/dpkg/info/%s.%s", package_name, "postrm");
+	exclude_files[0] = xasprintf("@TERMUX_PREFIX@/var/lib/dpkg/info/%s.%s", package_name, "postrm");
 	remove_file_array(remove_files, exclude_files);
 	free_array(exclude_files);
 
@@ -1528,7 +1528,7 @@
 	FILE *fp;
 	char *filename, *line;
 
-	filename = xasprintf("/var/lib/dpkg/info/%s.%s", package_name, control_name);
+	filename = xasprintf("@TERMUX_PREFIX@/var/lib/dpkg/info/%s.%s", package_name, control_name);
 	fp = fopen_for_read(filename);
 	free(filename);
 	if (fp != NULL) {
@@ -1648,7 +1648,7 @@
 	}
 
 	/* Extract control.tar.gz to /var/lib/dpkg/info/<package>.filename */
-	info_prefix = xasprintf("/var/lib/dpkg/info/%s.%s", package_name, "");
+	info_prefix = xasprintf("@TERMUX_PREFIX@/var/lib/dpkg/info/%s.%s", package_name, "");
 	archive_handle = init_archive_deb_ar(deb_file->filename);
 	init_archive_deb_control(archive_handle);
 
@@ -1688,7 +1688,7 @@
 	unpack_ar_archive(archive_handle);
 
 	/* Create the list file */
-	list_filename = xasprintf("/var/lib/dpkg/info/%s.%s", package_name, "list");
+	list_filename = xasprintf("@TERMUX_PREFIX@/var/lib/dpkg/info/%s.%s", package_name, "list");
 	out_stream = xfopen_for_write(list_filename);
 	archive_handle->dpkg__sub_archive->passed = llist_rev(archive_handle->dpkg__sub_archive->passed);
 	while (archive_handle->dpkg__sub_archive->passed) {
@@ -1782,7 +1782,7 @@
 	}
 
 /*	puts("(Reading database ... xxxxx files and directories installed.)"); */
-	index_status_file("/var/lib/dpkg/status");
+	index_status_file("@TERMUX_PREFIX@/var/lib/dpkg/status");
 
 	/* if the list action was given print the installed packages and exit */
 	if (opt & OPT_list_installed) {