diff --git a/scripts/create-recipe b/scripts/create-recipe
index a556e39..779ba03 100755
--- a/scripts/create-recipe
+++ b/scripts/create-recipe
@@ -37,10 +37,12 @@ use File::Basename qw(basename dirname);
 my $name = "";
 my $predef_version = "TO BE FILLED IN";
 my $version = $predef_version;
+my $pversion = $predef_version;
 my $description = "";
 my $summary = "";
 my $url = "";
-my $homepage;
+my $homepage = "";
+my @depends;
 my @rdepends;
 my $configure = "";
 my $localename = "";
@@ -59,6 +61,7 @@ my $builder = "";
 
 
 my $oscmode = 0;
+my $python = 0;
 
 my @banned_pkgconfig;
 my %failed_commands;
@@ -1539,7 +1542,7 @@ sub guess_name_from_url {
 	}
 	my $tarfile = $spliturl[0];
 	
-	if ($tarfile =~ /(.*?)\-([0-9\.\-\~]+.*?)\.tar/) {
+	if ($tarfile =~ /(.*?)\-([0-9\.\-\~]+)[-\.].*?\.tar/) {	    
 		$name = $1;
 		$version = $2;
                 $version =~ s/\-/\_/g;
@@ -1678,11 +1681,19 @@ sub write_yaml
 
 sub write_bbfile
 {
+        if ($python == 1) {
+    	    $name = lc("python-" . $name);	    
+	} 
 	open(BBFILE, ">${name}_$version.bb");
+	
 	print BBFILE "SUMMARY = \"$summary\"\n";
 	print BBFILE "DESCRIPTION = \"$description\"\n";
 	print BBFILE "HOMEPAGE = \"$homepage\"\n";
 
+	if ($python == 1) {
+	    print BBFILE "SRCNAME = \"$summary\"\n";
+	}
+
 	print BBFILE "LICENSE = \"@license\"\n";
 	print BBFILE "LIC_FILES_CHKSUM = \"";
 	foreach (keys %lic_files) {
@@ -1705,20 +1716,30 @@ sub write_bbfile
 	    print BBFILE "RDEPENDS_\$\{PN\} += \"@rdepends\"\n";
 	}
 
-	print BBFILE 'PR = "r0"' . "\n\n";
+	print BBFILE 'PR = "r0"' . "\n";
+	if ($python == 1) {
+	    print BBFILE "PV = \"$pversion\"\n\n";
+	}
+
 	print BBFILE "SRC_URI = \"";
 	foreach (@sources) {
 		print BBFILE "$_ \\\n";
 	}
+
 	print BBFILE "\"\n\n";
+	
 	print BBFILE "SRC_URI[md5sum] = \"$md5sum\"\n";
 	print BBFILE "SRC_URI[sha256sum] = \"$sha256sum\"\n\n";
+	if ($python == 1) {
+	    print BBFILE "S = \"\${WORKDIR}/\${SRCNAME}-\${PV}\"\n";
+	}
 
 	if (@inherits) {
 		print BBFILE "inherit ";
 		foreach (@inherits) {
 			print BBFILE "$_ ";
 		}
+		print BBFILE "\n";
 	}
 
 	close(BBFILE);
@@ -1830,34 +1851,34 @@ $fulldir = $dir;
 
 if ( -e "$dir/setup.py" ) {
        	$python = 1;
-	push(@inherits, "distutils");
-	
-	system("cd $dir ; python setup.py build sdist &> /dev/null");	
+	$tmp_stools = `grep -r setuptools $dir/setup.py`;
+	if (length($tmp_stools) > 2) {
+	    push(@inherits, "setuptools");
+	} else {
+	    push(@inherits, "distutils");
+	}	
 
-        $templic = `sed '/^License: */!d; s///;q' $dir/*.egg-info/PKG-INFO`;
+        $templic = `cd $dir; python setup.py --license;`;
 	chomp($templic);
 	push(@license, $templic);
-	$summary = `sed '/^Name: */!d; s///;q' $dir/*.egg-info/PKG-INFO`;
+	$summary = `cd $dir; python setup.py --name`;
 	chomp($summary);
-	$description = `sed '/^Summary: */!d; s///;q' $dir/*.egg-info/PKG-INFO`;
+	$description = `cd $dir; python setup.py --description`;
 	chomp($description);
-	$homepage = `sed '/^Home-page: */!d; s///;q' $dir/*.egg-info/PKG-INFO`;
+	$homepage = `cd $dir; python setup.py --url`;
 	chomp($homepage);
-	$findoutput = `find $dir/*.egg-info/ -name "requires.txt" 2>/dev/null`;
+	$pversion = `cd $dir; python setup.py -V`;
+	chomp($pversion);
+#	$findoutput = `cd $dir; python setup.py --requires`;
+#	if (length($findoutput) < 3) {
+	    $findoutput = `find $dir/*.egg-info/ -name "requires.txt" 2>/dev/null`;
+#	}
 	@findlist = split(/\n/, $findoutput);
-	foreach (@findlist) {
-	    # Adding dependency do buildreqs should be removed when
-	    # distutils is unbroken, i.e. blocks setup.py install from 
-	    # downloading and installing dependencies.
-	    push(@buildreqs, `sed 's/[^a-zA-Z]//g' $dir/*.egg-info/requires.txt`);
-	    chomp(@buildreqs);	    
-	    foreach $item (@buildreqs) {
-		$item = "python-" . $item
-	    }
+	foreach (@findlist) {	    
 	    push(@rdepends, `sed 's/[^a-zA-Z]//g' $dir/*.egg-info/requires.txt`);
 	    chomp(@rdepends);
 	    foreach $item (@rdepends) {
-		$item = "python-" . $item
+		$item = lc("python-" . $item);
 	    }
 	}
 }
@@ -1911,6 +1932,7 @@ if (length($configure) > 2) {
 }
 
 
+
 @files = <$dir/configure>;
 foreach (@files) {
 	process_configure("$_");
