Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re^8: 5.10 imminent?

by grinder (Bishop)
on Apr 12, 2007 at 17:11 UTC ( [id://609710]=note: print w/replies, xml ) Need Help??


in reply to Re^7: 5.10 imminent?
in thread 5.10 imminent?

Or maybe I'm using the wrong options?

If that was the exact command, then yes. You just spectacularly listed out all the files. You have to put them somewhere...

rsync -avz rsync://public.activestate.com/perl-current/ c:\perl\src

Once you get this up and finally running, it's even better than wget, because rsync will only transfer the deltas of changed files, and handles partially transferred files (following a network drop-out) correctly. Even if I don't sync up for a month, I'll only pull down a few dozen kilobytes of source in the following sync.

Please don't give up. Perl hackers on Windows are in short supply.

• another intruder with the mooring in the heart of the Perl

Replies are listed 'Best First'.
Re^9: 5.10 imminent?
by BrowserUk (Patriarch) on Apr 12, 2007 at 21:20 UTC

    Now I've got bleed downloaded, built and tested, I looked around the distribution for *smoke*, but there's nothing like that. So I googled for perl smoke test and I find lots of references to modules Test::Smoke and CPAN::Smoke etc. but when I look at those modules their synopsis suggest that I'm gonna have to read and understand these modules and then write scripts? And that means that I'm going to have to install this version of perl in preference to my current "production" version so that I can install the module(s)? I also see references to shell scripts and suggestions for adding this to my crontab, whatever that is.

    Hmm. Like I said elsewhere, if there was a clear set of instructions and it didn't mean screwing up everything else on my system, I'd really like do stuff to help...but this?

    Someone out there knows exactly how to do this, does it regularly perhaps. Does it need to be this hard?


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

      Ok, first off, no pretty much everything youve said here is not correct. Sorry. Also, if you are going to smoke then get used to using rsync. Rsync would have been only marginally slower than wget to complete if you had done it properly and that would be a one time payment, wheras the cost of fetching from the snapshots will be fixed every time. Anyway, now that you have a snapshot rsyncing should be extremely easy. Just unpack the snapshot into a directory and rsync from there. Normally when i rsync its a matter of 60 seconds or less to get an updated version. Less if nothing has changed. (BTW, the 'z' option means to gzip any data being tranferred)

      Note also you dont want to use -avz on a windows box, use -rtvz instead (or omit the 'v' to get less verbiage), and when you are first doing things DO include the --dryrun option and DO include --delete option, once you are happy things are working remove the --dryrun option. Without the delete option old files that are no longer used will not be removed.

      Next, create a directory for your smoking. I use the following structure:

      D:\smoke D:\smoke\src D:\smoke\run #and hypothetically D:\smoke\perl-current D:\smoke\perl-5.8.x

      I use this structure btw because the run directory will end up with various autogenerated batch files in it. And since I had to do some tweaking to get test smoke set up on Win32 I wanted all of its install and autogenerated batch files in a seperate path from the perl sources so i could do easy searches on the tree without also searching the perl sources.

      CD into the src directory and run the following (note the dot at the end of the command).

      rsync --delete -rtz source.Test-Smoke.org::ts-current .

      Then do the normal mantra:

      perl Makefile.PL && nmake && nmake test && nmake install

      When the Makefile asks you where you want to install the smoke libraries tell it D:\smoke\run\lib. Once this is done you will have installed the latest version of Test::Smoke into that directory.

      Next cd into D:\smoke\run and execute the batchfile via relative referencing accordingly:

      lib\configsmoke

      This will ask you a bunch of questions, for most of them you want to use the defaults. About the only ones you will need to hand edit will be the location of the build directory and the email addresses you want to CC your smoke reports to. For perl-current I use D:\smoke\perl-current once this is done you will find that you have three files in your run directory, one is a build config file, the other is a smoke config file and the last is a batchfile. Once all of this is done in order to run a smoke you simply execute this batch file.

      And thats about it actually.

      You may want to 'tail -f smokecurrent.log' from the run directory to whatch what is going on, or you can do a grep Configuration: smokecurrent.log and see how many different configurations have been completed. Out of the box a smoke run will build 8 different configurations.

      Oh one thing you might want to do is edit the build config file and make sure that something like:

      -DINST_DRV=D: -DINST_TOP=$(INST_DRV)\smoke\inst\current

      Is specified, nothing will actually be installed in this location, and in fact the location should NOT exist, but it will help prevent the possibility of a header mismatch if you have a perl installed in the standard location. I actually got a patch applied recently that fixed the only example of this bug, but its better to be on the safe side.

      Update: There is one annoyance that you should address, and that is that there are weird permission issues currently with some of the files in the bundle. Instead of letting smoke rsync directly I have it execute the following batch file:

      rsync %* echo y|cacls D:\smoke\perl-current\*.* /T /C /P Everyone:F >nul attrib -r /s /d D:\smoke\perl-current\*.* >nul

      This will ensure that all the files are writable and have the correct permissions after the rsync. Its possible that the cacls call is superfluous with '-rtz' (versus '-az') but i keep it in there anyway.

      ---
      $world=~s/war/peace/g

        Ok, first off, no pretty much everything youve said here is not correct. Sorry.

        No need for apologies, I pretty much knew it would be when I posted it, hence the '?'s. But, with greatest of respect and thanks for your having posted this 'blow by blow on win32', without having done any further googles looking for specific keyphrases from the above, almost nothing of what you have posted relates to anything I have seen in any of the many, many online documents I have scanned looking for answers.

        So the question is, how could I (or any other potential Win32 smoketest neophyte), have discovered this information other than by asking? You are now a well seasoned perl source diver/builder/tester/developer, but it has taken you something like 2 years of your free time to reach you current level of knowledge? I assume that you have acquired the knowledge that allowed you to arrive at the above, over some considerable subset of that period. And maybe with some assistance from your forbears and peers on the p5p lists?

        Anyway, my greatest thanks for your having taken the time to write up the above. I will attempt to work my way through it this evening and record my progress and experiences. Assuming that I am able to achieve the desired result, I will write up a full step by step of the process and post it here in a new thread for others to see and perhaps use.


        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.
Re^9: 5.10 imminent?
by BrowserUk (Patriarch) on Apr 12, 2007 at 18:11 UTC
    If that was the exact command, then yes.

    That was the command that ysth linked to....except when I go back to c&p the proof, I notice that I omitted the '.'. In my browser, the combination of green text on mottled green background and the size of the font meant that the dot is next to invisible. Even now I know it's there, it's hard to distinguish it from a spec of dust on my screen. I only saw it at all because I overshot whilst highlighting the text this time and it stood out. (Yes. That's a long and elaborate excuse {blush}).

    Once you get this up and finally running, it's even better than wget, because rsync will only transfer the deltas of changed files

    Yes, I understand the logic behind rsync but that assumes that I am going to try and keep up to date on a regular basis. That is in itself a barrier to becoming involved. It's not a one-time give something back contribution. It signing up to an ongoing, direct debit commitment. A lifestyle. Becoming a "part of the community". For some, that's the greatest thing since sliced bread, but for many others Perl is just what they do at their day job, a means to and end, not a lifestyle.

    Conversely, I return from eating my evening meal and wget has just worked:

    c:\Perl\src>wget -c http://public.activestate.com/pub/apc/perl-current +-snap/perl-current-latest.tar.bz2 --17:55:32-- http://public.activestate.com/pub/apc/perl-current-snap/ +perl-current-latest.tar.bz2 => `perl-current-latest.tar.bz2' Resolving public.activestate.com... done. Connecting to public.activestate.com[209.17.146.133]:80... connected. HTTP request sent, awaiting response... 200 OK Length: 11,995,312 [application/x-bzip2] 100%[====================================>] 11,995,312 4.20K/s +ETA 00:00 18:42:00 (4.20 KB/s) - `perl-current-latest.tar.bz2' saved [11995312/1 +1995312]

    Add

    c:\Perl\src>u:bunzip2 perl-current-latest.tar.bz2 c:\Perl\src>tar -xvf perl-current-latest.tar

    And I'm ready to go.


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://609710]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (2)
As of 2025-05-21 05:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.