Ran into a similar issue. Exported the package, unpacked it, modified it, re-packed it into a .tgz and attempted an upload. Same error.
From the information in Satoshi Toyosawa's previous post, I copied the 3 things to the root of my local machine: /extensions , /rules and version.
After my modifications, I then repacked it using gnu-tar*:
tar -r cvzf new-workspace_ws.tar ./extensions ./rules version
I was able to re-import the file using the normal method for v12.1.2.1.
*Note: If you don't use gnu-tar or similar, you're gonna get a bunch of crazy output when you try to re-import via the GUI and it will obviously fail:
/bin/tar: Ignoring unknown extended header keyword `SCHILY.dev'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.ino'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.nlink'
----
err:console buffer full
-Additionally-
Working with the files locally on the LTM through the bash prompt, I simply copied the files to a new directory, made my modifications via vi and used "chmod -R 777" to make sure the copied files have all the necessary rights. If not, you will not be able to modify them in the GUI since the user rights used to copy are different.
[root@BigIP:Active:Standalone]/ cd /var/ilx/workspaces/Common
[root@BigIP:Active:Standalone]/ cp -r old-workspace_ws/ new-workspace_ws/
[root@BigIP:Active:Standalone]/ chmod -R 777 new-workspace_ws/
Make all your changes as you wish. Through the GUI or via bash. Then make your new plugin and attach it to the new workspace.