[aur-general] [arch-dev-public] Status of arch=any ?

Firmicus Firmicus at gmx.net
Wed May 13 14:44:17 EDT 2009


Abhishek Dasgupta a écrit :
> 2009/5/13 Abhishek Dasgupta <abhidg at gmail.com>:
>   
>> I've attached a diff for convert-to-any which does away with all the
>> committing stuff and just makes an i686/x86_64 package into an
>> architecture independent package putting the file in the same directory.
>> I tested the code here and it's working.
>>
>>     
>
> updated patch using die() and some other corrections like
> using quotes when accessing variables, etc.
>
> Currently, I'm copying the i686/x86_64 package to $WORKDIR/build
> and extracting it there. This causes some additional disk i/o which can
> be done away with if I directly extract from the package. However
> this does ensure that the original package is unharmed.
>   

IMHO extracting the package is not really necessary. It is simpler and
faster to
1. decompress the package (with gunzip, or eventually some other
(de)compression tool, depending of )
2. extract the .PKGINFO from the tar and then delete it with "tar --delete"
3. modify the extracted .PKGINFO with sed to change the arch field
4. re-add .PKGINFO to the tar with "tar --append"
and finally
5. gzip the tar

This has the additional advantage of making sure the  properties of the
files (ownership and mode) are not mangled. I have tested this procedure
with a large number of arch-independent packages that I converted from
i686 to x86_64, and I have never encountered a problem. In any case, I
leave it to our benevolent dictator Aaron to decide which solution is to
be preferred ;)

F


PS: change the description header as follows:

diff --git a/convert-to-any b/convert-to-any
index 1c48eb3..72dad04 100644
--- a/convert-to-any
+++ b/convert-to-any
@@ -1,8 +1,8 @@
 #!/bin/bash
-# Converts an existing package into an
-# architecture-independent package and updates
-# the repositories accordingly.
-
+#
+# Converts an existing architecture-independent package
+# for i686 or x86_64 into a package with "arch = any"
+#
 # -- Abhishek Dasgupta <abhidg at gmail.com>
 
 [ "$UID" = "" ] && UID=$(uid)



More information about the aur-general mailing list