FYI, I've committed a update to my SVN repository of addonpkg that handles the splitting of Ace3 when installing though have not packaged it up yet. There isn't really that much of a need to upgrade however as the current version should work fine as long as you don't mind using the standalone Ace3 addon unsplit.
Version 2008-04-17 is now available. It adds the ability to change the default splitting behaviour from the command line. To do this I had to make another database format change, but as normal addonpkg should automatically update itself. Let me know if you have any issues.
Example to switch to an unsplit version of Ace3 you can run the following commands:
addonpkg -nosplit Ace3
addonpkg -install Ace3
That was the right command, unfortunately looks like I never got around to packaging up my fix for a bug with adding new git addons. I just uploaded a new version that should work. I tested it with:
This version is sort of halfway between an architecture change so let me know if you run into any problems with it. (I've been moving away from calling the svn command directly towards using Perl modules to do the same thing, but haven't completed that transition yet.)
I'm having a hell of a time getting the perl modules installed for the new version. ActiveState's PPM doesn't have SVN::Client, but on CPAN I see that it is a submodule of Alien::SVN, which also isn't in the PPM. Is Alien::SVN even the module I'm after?
ActiveState's cpan shell is broken out of the box (Usage: YAML::XS::LibYAML::Load(yaml_str) at C:\Perl\site\lib/YAML/XS.pm line 70.)
Strawberry Perl fails to build subversion from source (I get an error saying sh.exe can't find cygwin1.dll... which baffles me, because I do have a cygwin install and the dll is in the same directory as the only sh.exe on my system)
I even tried on debian in coLinux but I don't seem to have the build environment installed correctly for that either.
Am I going about this wrong or I just don't have the proper environment setup?
Let me get my windows emulator up and I'll see if I can find the right packages to make it work there again. I'll update this post when I know more.
edit: I just tried reinstalling with the latest ActivePerl and ran into the same problem with installing Alien::SVN, I'm sort of surprised ActivePerl doesn't include it. I might have to look at adding a fall back to the command line for when SVN::Client etc are not present.
The first line is a valid directory which contains:
Archive Mail
Convert Net
HeaderDoc Time
IO URI
MIME URI.pm
MLDBM auto
MLDBM.pm darwin-thread-multi-2level
Mac set-version.pl
The second directory listed (/Library/Perl/5.8.1) doesn't exist. Any ideas?
edit: BTW if I do a locate Diff it isn't found (and my locate database is current).
edit: I installed Algorithm::Diff, then got an error for LWP. I installed LWP but am now getting an error for SVN:Client.pm. I have a feeling my version of perl is just not right or something... maybe because I'm running OS X 10.4 instead of 10.5?
edit: I installed Algorithm::Diff, then got an error for LWP. I installed LWP but am now getting an error for SVN:Client.pm. I have a feeling my version of perl is just not right or something... maybe because I'm running OS X 10.4 instead of 10.5?
That's likely the case. My guess is that the version of perl in 10.4 has a lot less packages then the version in 10.5. I will probably end up adding a fallback mode for machines that don't have Algorithm::Diff etc. Unfortunately I don't have 10.4 running on any of my machine currently, so I can't really test/check exactly what's available in the base version of perl in that machine.
I haven't had much time to work on this recently and since the latest versions use files.wowace.com in addition to pure SVN and the recent announcements "WowAce's Plans for the Future" may have some impacts on what my script is able to do. I'll probably end up yanking out the files.wowace.com stuff since I've been using the RSS files to know if either if the script should even talk with the SVN servers or even just pull the tar file down from FTP. Unfortunately this means that addonpkg will probably be slower once the SVN is split since it will have to query each SVN/GIT server instead of using the RSS files or other tricks to lower network traffic. For example for SVN servers where a bunch of addons share a common path it has to only send one request to determine which of the addons it should check.
I upgraded to Leopard and now the latest addonpkg works fine.
As for the coming wowace changes, personally it's no big deal if addonpkg runs a bit slower. As long as it's automated I don't care how long it takes.
Agreed. Automated and slow is still better than having to do it manually. I can pop the command line and walk away. I'm sure Curse isn't doing a Mac client, after all.
I've just uploaded a very quick and dirty beta of addonpkg with all references/support of files.wowace.com removed, and thus it also no longer has a builtin default database for wowace addons. It can still be used as an SVN and GIT updater (see the -svn and -git options and the .addonpkg/addons file). Once details and an API for 3rdparty updaters to wowace are made available I'll look at supporting it.
I've been working on an experiment with optimized network traffic when embedding (still not released, but visible via SVN). Instead of fetching externals directly into the stage area it caches the externals in a Externals subdirectory and adds them in when installing the addons. This should reduce SVN network traffic bandwidth even when grabbing addons with embeds enabled since it will only fetch an external once no matter how many addons use it. To support logging it will add additional meta data to the TOC files. One of my goals with addonpkg is to minimize any external traffic.
I'm also adding a currently undocumented option --weak_fetch which doesn't cause caches to be invalidated just because you are fetching new addons. Means you might not get the absolute latest, but should be more network friendly if you the addonpkg -fetch command multiple times in a row.
Some additional ideas I've had for features (none of these are anything more than an idea yet):
--forum
--website
Open a web browser to the forum or website for the addon. Not sure there is a defacto standard for a tag for these.
--bug
For generating bug reports. Again not sure there is a defacto standard tag. Ideally I'd like addonpkg to find and archive up any save variables for the addon, look for saved buggrabber messages, record SVN version numbers, game version, etc. so that it could be easily sent to the developer.
--stagediff
Show changes made in the stage directory compared to the repository.
--commit "msg"
Commit changes made in the stage directory for the named addons back to the repository with message of the forum "addon: msg".
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
Example to switch to an unsplit version of Ace3 you can run the following commands:
addonpkg -nosplit Ace3
addonpkg -install Ace3
Am I doing it wrong?
That was the right command, unfortunately looks like I never got around to packaging up my fix for a bug with adding new git addons. I just uploaded a new version that should work. I tested it with:
This version is sort of halfway between an architecture change so let me know if you run into any problems with it. (I've been moving away from calling the svn command directly towards using Perl modules to do the same thing, but haven't completed that transition yet.)
ActiveState's cpan shell is broken out of the box (Usage: YAML::XS::LibYAML::Load(yaml_str) at C:\Perl\site\lib/YAML/XS.pm line 70.)
Strawberry Perl fails to build subversion from source (I get an error saying sh.exe can't find cygwin1.dll... which baffles me, because I do have a cygwin install and the dll is in the same directory as the only sh.exe on my system)
I even tried on debian in coLinux but I don't seem to have the build environment installed correctly for that either.
Am I going about this wrong or I just don't have the proper environment setup?
edit: I just tried reinstalling with the latest ActivePerl and ran into the same problem with installing Alien::SVN, I'm sort of surprised ActivePerl doesn't include it. I might have to look at adding a fall back to the command line for when SVN::Client etc are not present.
Can't locate Algorithm/Diff.pm in @INC (@INC contains: /System/Library/Perl/5.8.8/darwin-thread-multi-2level /System/Library/Perl/5.8.8 /Library/Perl/5.8.8/darwin-thread-multi-2level /Library/Perl/5.8.8 /Library/Perl /Network/Library/Perl/5.8.8/darwin-thread-multi-2level /Network/Library/Perl/5.8.8 /Network/Library/Perl /System/Library/Perl/Extras/5.8.8/darwin-thread-multi-2level /System/Library/Perl/Extras/5.8.8 /Library/Perl/5.8.6 /Library/Perl/5.8.1 .) at /Users/arowland/addonpkg line 98.
BEGIN failed--compilation aborted at /Users/arowland/addonpkg line 98.
Backrevved to 4/17 version, same spot, same path, no problem.
(Fresh install, upgraded main HD and vid card)
Oh, and by the way, 10.5 includes working svn already, no need to find one!
I believe that should be coming from /System/Library/Perl/Extras/5.8.8. What's in your /Library/Perl/5.8.8/AppendToPath file?
The error:
Can't locate Algorithm/Diff.pm in @INC (@INC contains: /System/Library/Perl/5.8.6/darwin-thread-multi-2level /System/Library/Perl/5.8.6 /Library/Perl/5.8.6/darwin-thread-multi-2level /Library/Perl/5.8.6 /Library/Perl /Network/Library/Perl/5.8.6/darwin-thread-multi-2level /Network/Library/Perl/5.8.6 /Network/Library/Perl /System/Library/Perl/Extras/5.8.6/darwin-thread-multi-2level /System/Library/Perl/Extras/5.8.6 /Library/Perl/5.8.1 .) at /Users/cindy/bin/addonpkg line 98.
My /Library/Perl/5.8.6/AppendToPath has:
/System/Library/Perl/Extras/5.8.6
/Library/Perl/5.8.1
The first line is a valid directory which contains:
Archive Mail
Convert Net
HeaderDoc Time
IO URI
MIME URI.pm
MLDBM auto
MLDBM.pm darwin-thread-multi-2level
Mac set-version.pl
The second directory listed (/Library/Perl/5.8.1) doesn't exist. Any ideas?
edit: BTW if I do a locate Diff it isn't found (and my locate database is current).
edit: I installed Algorithm::Diff, then got an error for LWP. I installed LWP but am now getting an error for SVN:Client.pm. I have a feeling my version of perl is just not right or something... maybe because I'm running OS X 10.4 instead of 10.5?
That's likely the case. My guess is that the version of perl in 10.4 has a lot less packages then the version in 10.5. I will probably end up adding a fallback mode for machines that don't have Algorithm::Diff etc. Unfortunately I don't have 10.4 running on any of my machine currently, so I can't really test/check exactly what's available in the base version of perl in that machine.
I haven't had much time to work on this recently and since the latest versions use files.wowace.com in addition to pure SVN and the recent announcements "WowAce's Plans for the Future" may have some impacts on what my script is able to do. I'll probably end up yanking out the files.wowace.com stuff since I've been using the RSS files to know if either if the script should even talk with the SVN servers or even just pull the tar file down from FTP. Unfortunately this means that addonpkg will probably be slower once the SVN is split since it will have to query each SVN/GIT server instead of using the RSS files or other tricks to lower network traffic. For example for SVN servers where a bunch of addons share a common path it has to only send one request to determine which of the addons it should check.
As for the coming wowace changes, personally it's no big deal if addonpkg runs a bit slower. As long as it's automated I don't care how long it takes.
Agreed. Automated and slow is still better than having to do it manually. I can pop the command line and walk away. I'm sure Curse isn't doing a Mac client, after all.
I'm also adding a currently undocumented option --weak_fetch which doesn't cause caches to be invalidated just because you are fetching new addons. Means you might not get the absolute latest, but should be more network friendly if you the addonpkg -fetch command multiple times in a row.
Some additional ideas I've had for features (none of these are anything more than an idea yet):