Pierre I was able to reproduce the error and fix it. please try the version I just put on github it should fix both issues.
Thank you for reporting the error I haven't used the rewrite package release name options in a while because I don't actually need them in my environment, which is why I wasn't seeing the error my self. On Mon, Jan 14, 2013 at 12:47 PM, Pierre Casenove <[email protected]> wrote: > What I don't understand is why, the array of options is correct before > calling rewrite_package_release, but then, inside this function, it is only > a string and not the full array. > > The perl error say the same thing: we expect to have an array, but we only > have a string. > $VAR1 = 'bugzilla_url'; > > > 2013/1/14 Pierre Casenove <[email protected]> >> >> Hello, >> Here is my script: >> #!/bin/bash >> # Variables pour le script >> export ERRATASRCUSER= >> export ERRATADSTUSER= >> export ERRATASRCPASS= >> export ERRATADSTPASS= >> /usr/local/sbin/eva-direct-errata-sync.pl >> --sourcechannel=rhel-x86_64-server-5 --destinationchannel=centos-5-base-x64 >> --rewritepackagereleasefrom=el5 --rewritepackagereleaseto=el5.centos >> --rewriteerratanamefrom=RH --rewriteerratanameto=COS5X64 >> --startfromprevious=week -r -v >> >> I've tried to set -b option, but it fails with the same error... I can't >> find why. >> >> Geting details for COS5X64SA-2013:0128 >> getting RHSA-2013:0128 from the source >> Geting details for RHSA-2013:0128 >> getting details for package ricci >> Can't use string ("bugzilla_url") as a HASH ref while "strict refs" in use >> at /usr/local/sbin/eva-direct-errata-sync.pl line 492. >> >> >> Thanks in advance, >> >> Pierre >> >> >> >> 2013/1/14 Paul Robert Marino <[email protected]> >>> >>> Hello Pierre >>> >>> huh thats odd >>> >>> I know the default bugzilla url worked at one point but you seem to be >>> right Ill put a patch up latter today when I get a chance. I'm >>> surprised because I never ran into this error. For now setting the >>> bugzilla URL via the command line option should work around it. >>> >>> This is also odd for an other reason in the current version on github >>> that lin number has nothing to do with the bugzilla url >>> >>> please send me the full command line options so I can try to reproduce it >>> NOTE please do not include your username and passwords. >>> >>> >>> On Mon, Jan 14, 2013 at 8:20 AM, Pierre Casenove <[email protected]> >>> wrote: >>> > Hello, >>> > Using Data::dumper, I've tried to debug this... >>> > I dump $options just before calling rewrite_package_release and then >>> > inside >>> > this procedure: >>> > before calling it: >>> > $VAR1 = { >>> > 'bugzilla_url' => undef, >>> > 'verbose' => undef, >>> > 'dst_passwd' => '', >>> > 'rewrite_package_release_from' => 'el5', >>> > 'rewrite_package_release_to' => 'el5.centos', >>> > 'src_channel' => 'rhel-x86_64-server-5', >>> > 'dst_host' => 'localhost', >>> > 'batch_config' => undef, >>> > 'help' => undef, >>> > 'start_date' => '2013-1-07 13:11:17', >>> > 'dryrun' => undef, >>> > 'src_passwd' => '', >>> > 'src_host' => 'rhn.redhat.com', >>> > 'dst_channel' => 'centos-5-base-x64', >>> > 'start_from_previous' => 'week', >>> > 'recursive' => 1, >>> > 'dst_user' => 'erratasync', >>> > 'rewrite_errata_name_from' => 'RH', >>> > 'end_date' => undef, >>> > 'write_config' => undef, >>> > 'src_user' => 'rhn-mreposync', >>> > 'rewrite_errata_name_to' => 'COS5X64' >>> > }; >>> > Inside the procedure: >>> > $VAR1 = 'bugzilla_url'; >>> > >>> > I'm not a perl expert, but it seems that the array of option is not >>> > correctly passed... >>> > >>> > By the way, in the current code, I think that there is a bug: >>> > >>> > unless($options->{'bugzilla_url'}){ >>> > print_verbose(%{$options},"No bugzilla url specified setting to >>> > the default >>> > \"https://bugzilla.redhat.com/\"\n"); >>> > } >>> > >>> > The bugzilla_url is never set to the default! >>> > >>> > Pierre >>> > >>> > >>> > >>> > 2013/1/14 Pierre Casenove <[email protected]> >>> >> >>> >> Hello, >>> >> I still have one problem. >>> >> I want to use options --rewritepackagereleasefrom=el5 >>> >> --rewritepackagereleaseto=el5.centos for centos errata sync. >>> >> When I try to sync errata RHSA-2013:0128, I get the following error: >>> >> >>> >> checking if RHSA-2013:0128 exists on the destination host >>> >> Geting details for COS5X64SA-2013:0128 >>> >> getting RHSA-2013:0128 from the source >>> >> Geting details for RHSA-2013:0128 >>> >> getting details for package ricci >>> >> Can't use string ("bugzilla_url") as a HASH ref while "strict refs" in >>> >> use >>> >> at /usr/local/sbin/eva-direct-errata-sync.pl line 492. >>> >> >>> >> Thanks in advance, >>> >> >>> >> Pierre >>> >> >>> >> >>> >> 2013/1/10 Paul Robert Marino <[email protected]> >>> >>> >>> >>> On Thu, Jan 10, 2013 at 1:48 AM, Pierre Casenove >>> >>> <[email protected]> >>> >>> wrote: >>> >>> > Hello Paul. >>> >>> > First, thanks a lot for this hint, now it works... but with a >>> >>> > little >>> >>> > twist: >>> >>> > as I'm setting environment variables, I use proxy to connect to RHN >>> >>> > AND >>> >>> > to >>> >>> > my local spacewalk server... >>> >>> > How could I unset PROXY variables for Spacewalk, and not for RHN? >>> >>> I haven't looked into it yet but I think this is a limitation LWP >>> >>> inherits from one of it many dependencies. It will take time for me >>> >>> to >>> >>> investigate it there is a workaround but your solution using HTTP for >>> >>> the local connection and HTTPS to rhn may be the only practical >>> >>> workaround right now. >>> >>> > By the way, great script, it works like a charm (except this proxy >>> >>> > setting!) >>> >>> > >>> >>> > I still have three questions: >>> >>> > - For Centos, I have a base channel named Centos 6 Base and a child >>> >>> > channel >>> >>> > for the updates. Can your script find packages in both? >>> >>> yes it can >>> >>> > - For RHEL channels: Do i have to call the script twice to get >>> >>> > erratas >>> >>> > from >>> >>> > RHEL 6 Server channels and RHEL 6 Optionnal channel, or does your >>> >>> > script >>> >>> > automatically find everything when calling it and specifying the >>> >>> > rhel 6 >>> >>> > server channel? >>> >>> No it will scan all channels on the source you have access to under >>> >>> the base channel >>> >>> >>> >>> > - I'm planning to call the script once a day, with the >>> >>> > "startfromprevious" >>> >>> > option. Imagine the following case, which happens quite frequently: >>> >>> > RedHat >>> >>> > publishes a RHSA with the associated packages on day 1. The next >>> >>> > night, >>> >>> > I'm >>> >>> > going the download the package and create the errata for RHEL. But >>> >>> > from >>> >>> > centos, it happens that the packages are not yet available (they >>> >>> > are >>> >>> > published a few days after). Your script will skip the errata >>> >>> > creation >>> >>> > for >>> >>> > centos... but even when the package will be available, the errata >>> >>> > will >>> >>> > never >>> >>> > be re-created, as it starts with the last launch date. How can I >>> >>> > address >>> >>> > this? >>> >>> I usually use startfromprevious with month with scientific linux and >>> >>> year with Centos because it doesn't take that much longer and >>> >>> resolves >>> >>> this for both distros >>> >>> >>> >>> > >>> >>> > Thanks in advance, >>> >>> > >>> >>> > Pierre >>> >>> > >>> >>> > >>> >>> > >>> >>> > 2013/1/4 Paul Robert Marino <[email protected]> >>> >>> >> >>> >>> >> perl-Crypt-SSLeay >>> >>> > >>> >>> > >>> >>> > >>> >>> > >>> >>> > _______________________________________________ >>> >>> > Spacewalk-list mailing list >>> >>> > [email protected] >>> >>> > https://www.redhat.com/mailman/listinfo/spacewalk-list >>> >>> >>> >>> _______________________________________________ >>> >>> Spacewalk-list mailing list >>> >>> [email protected] >>> >>> https://www.redhat.com/mailman/listinfo/spacewalk-list >>> >> >>> >> >>> > >>> > >>> > _______________________________________________ >>> > Spacewalk-list mailing list >>> > [email protected] >>> > https://www.redhat.com/mailman/listinfo/spacewalk-list >>> >>> _______________________________________________ >>> Spacewalk-list mailing list >>> [email protected] >>> https://www.redhat.com/mailman/listinfo/spacewalk-list >> >> > > > _______________________________________________ > Spacewalk-list mailing list > [email protected] > https://www.redhat.com/mailman/listinfo/spacewalk-list _______________________________________________ Spacewalk-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/spacewalk-list
