Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re^7: 5.10 imminent?

by BrowserUk (Patriarch)
on Apr 12, 2007 at 17:00 UTC ( [id://609708]=note: print w/replies, xml ) Need Help??


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

Okay, 20 minutes later and I have a version of rsync that seems to run, so I switched into a directory where I'd like the sources put and typed the advised command:

c:\Perl\src>rsync -avz rsync://public.activestate.com/perl-current/ receiving file list ... done drwxr-xr-x 6592 2007/04/12 16:55:20 . -rw-r--r-- 6 2007/04/12 16:55:20 .patch -r--r--r-- 31992 2007/03/20 16:06:44 AUTHORS -r--r--r-- 6111 2006/06/13 20:28:51 Artistic -r--r--r-- 3776973 2007/02/27 13:20:45 Changes ... -r--r--r-- 1363 2006/06/13 20:29:38 x2p/str.h -r--r--r-- 3637 2006/06/13 20:29:38 x2p/util.c -r--r--r-- 944 2006/06/13 20:29:38 x2p/util.h -r--r--r-- 48960 2006/06/13 20:29:38 x2p/walk.c sent 99 bytes received 86198 bytes 232.29 bytes/sec total size is 62055224 speedup is 719.09

Result. A 10 minute wait and exactly nothing transferred!

Of course you say. If you don't have a copy of bleed perl to be updated, then there is nothing to do?

Or maybe I'm using the wrong options?

Or...

Could I work out what I'm doing wrong (besides following the instructions slavishly)? Maybe, but if the desire is to encourage widespread partisipation in the smoking (Is that legal?) of bleed perl, then it would make sense to make it reasonably easy for people to do so. Without having to ask 20 questions and end up feeling foolish in the process. Because otherwise, those few (non-usual suspects) who decide they'd like to have a go, will stop before they get started.

From my perspective, I prefer a link to an archive file that I can download because wget knows how to resume a broken download without needing to go through an ever more laborious process of working out how far it got last time and what has changed in the meantime. A download of 15 MB can take me 2 or 3 days. Stuff changes. ISP drop connections. Each time it resumes, there is more stuff at this end to sync, and more likelyhood that stuff at the other has changed. wget doesn't have this problem.


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.

Replies are listed 'Best First'.
Re^8: 5.10 imminent?
by grinder (Bishop) on Apr 12, 2007 at 17:11 UTC
    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

      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

      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://609708]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (4)
As of 2025-05-25 02: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.