Closed luiserd97 closed 1 year ago
I've added a new branch delete-keys
based on this PR. Several things looked like opportunities for enhancing the method:
delete_keys()
methodCheck out the new branch and see if this satisfies the requirements...thanks for the PR and motivation to add the method
Very good changes you made there!
I just had difficulties trying to build the code in the branch. I couldn't create the Makefile.pl file because I was getting an error running the ./configure script saying:
"checking for pod2markdown... no configure: error: pod2markdown found?"
I'll keep trying on this tomorrow.
Thanks for the enhancements and I appreciate your support on this new feature to the module.
Hi,
Sorry to hear of your trouble building the software :-( The fact that you tried and got that far is encouraging though…fyi I have updated the delete-keys branch this morning.
TL;DR
The following information is only relevant if you want to give it a go and try to hack on the software in order to create a distribution. It would be really great if you could try to install the necessary tooling if only to provide me some feedback as to where the documentation or tooling fails to allow someone else to successfully maintain the package.
I use autotools https://www.gnu.org/software/automake/manual/html_node/Autotools-Introduction.html quite heavily in order to build RPMs and CPAN distributions from Perl based projects. Sometimes this presents problems unless your development environment contains the tools necessary to build all parts of the project. Not all checks when running the configure script however will stop you and you may not need all of the tools suggested. Some checks will only warn that you don’t have a tool and therefore you won’t be able to do something (e.g. rpmbuild - Did you know that you can build RPMs on a Debian based system?). The configure script will also check for the Perl modules required by the project (alas this might not always be 100% complete, hence we check for the required modules whenever we create a CPAN distribution using another tool scandeps-static.pl).
Ah…the Perl dependency dance… In general the build is highly tuned to my particular environment, however if someone has the tools installed it should build with no problems. In general, it should not be too hard to add the necessary tools to build this package. Building means a few things depending on the situation…
make - will syntax check all Perl assets (.pl, .pm) and do other substitutions of automake variables in various files converting *.in files to their targets. Automake variables are substituted in Perl scripts, bash scripts, and other resources by replacing @something@ with the configured value (the value that was materialized during by the configure script after you invoked configure it something like ./configure --with-something=foo ).
In order to make this all work, the first thing the configure script does is check to see if you have the necessary tools installed - apparently you don’t have pod2markdown https://metacpan.org/dist/Pod-Markdown/view/bin/pod2markdown installed - which for some reason I decided you needed to build README.md from pod so that when go to this github repository https://github.com/rlauer6/perl-amazon-s3 the README.md there is the latest version of the pod from Amazon::S3.
The repo also uses github actions to try to build the software in a container and run the basic test (not the expensive ones). Hence the badge that indicates if the latest build was successful. That only means I could build this in my container - the CPAN testers provide a report after I upload the distribution. You can see the results of those tests https://metacpan.org. Those tests try building it on different versions of Perl on different platforms.
To create a CPAN distribution requires additional tooling that is also checked at configure time (fyi I have just updated the delete-keys branch because while writing this essay I noticed that I am not checking for make-cpan-dist.pl in the configure script). If you have the necessary tools then you can create a CPAN tarball thusly:
cd cpan make cpan
However, to do that requires these tools that are checked in the configure script:
I told you this was a dance…lol
Over the years I have autoconfiscated projects (the process of creating a project using autotools) using a project template and have customized each project as required. Recently however I have been endeavoring to create a project that automagically autoconfiscates Perl based projects. You can find it here https://github.com/rlauer6/autoconf-template-perl.git on github. It is still not 100% baked, but good enough so that I have created several projects from it in order to help me maintain a legacy Perl web application. There is copious documentation but I’m sure that there are still holes or context missing that might allow others to use it.
Again, thanks for the PR and prodding me to improve the module…I will be needing that feature soon anyway!
Rob Lauer (bigfoot)
On Mon, Mar 27, 2023 at 8:28 PM luiserd97 @.***> wrote:
Very good changes you made there!
I just had difficulties trying to build the code in the branch. I couldn't create the Makefile.pl file because I was getting an error running the ./configure script saying:
"checking for pod2markdown... no configure: error: pod2markdown found?"
I'll keep trying on this tomorrow.
Thanks for the enhancements and I appreciate your support to bring new feature to the module.
— Reply to this email directly, view it on GitHub https://github.com/rlauer6/perl-amazon-s3/pull/10#issuecomment-1486039309, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA5WRWSI4XMC6WHDGO25NADW6IWBHANCNFSM6AAAAAAWHYQHVA . You are receiving this because you commented.Message ID: @.***>
Thanks for all the explanation!, finally I could make it work!
The problem was that I had "pod2markdown" in "/opt/homebrew/Cellar/perl/5.36.0/bin/" and the ./configure script wasn't looking for that path, but once I could figure out that that was the problem I could resolve it.
Aside of that everything worked fine here with no problems :)
Cool! If you do ./configure --help the last few lines of the standard output for configure are the customizations made to the project’s configure.ac file that is converted into the configure script when you run autoreconf.
Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-silent-rules less verbose build output (undo: "make V=1") --disable-silent-rules verbose build output (undo: "make V=0") --disable-perldeps don't abort if dependencies missing --disable-deps don't abort if dependencies missing --enable-distcheck-hack enable distcheck hack --enable-rpmbuild configure for an RPM build
Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-perl5libdir (defaults to DATAROOTDIR/perl5) --with-perl-includes=DIR[:DIR:...] prepend DIRs to Perl's @INC
Note the --perl-includes= which will indicate where the configure script might find additional Perl modules. --with-per5libdir is where you will be installing the package if you were to do a make && sudo make install.
I’m still iterating on some of the unit tests and found a bug in list() that I corrected yesterday. The method attempts to support both ListObjects and ListObectsV2 which have similar result and calling parameters. I think it is working now and will push an update to the development branch today.
Thanks for sticking with it and getting it working. BTW, in my previous
role with EPAM I worked with a company that provided me with a Macbook Pro
for a project that involved migrating a legacy Perl app to AWS…I learned a
lot about why I don’t want to use a Macbook Pro when developing Perl
applications! However, we got it done despite having to learn where brew
squirrels away libraries and Perl assets. My go to device is my Chromebook
where you can run a variation of Debian. I've been using a Chromebook
since 2012, first by using ssh
to develop using an EC2 and now natively
using its ability to run Debian. This is my 4th Chromie having retired my
Pixelbook last year due to its, ironically, failing pixels. For under $100
you can get an Intel i7. And it just works...
Rob
On Wed, Mar 29, 2023 at 1:34 AM luiserd97 @.***> wrote:
Thanks for all the explanation!, finally I could make it work!
The problem was that I had "pod2markdown" in "/opt/homebrew/Cellar/perl/5.36.0/bin/" and the ./configure script wasn't looking for that path, but once I could figure out that that was the problem I could resolve it.
Aside of that everything worked fine here with no problems :)
— Reply to this email directly, view it on GitHub https://github.com/rlauer6/perl-amazon-s3/pull/10#issuecomment-1487972779, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA5WRWWAZMUS3Q6T4KWW6ADW6PCWBANCNFSM6AAAAAAWHYQHVA . You are receiving this because you commented.Message ID: @.***>
Just pushed what I hope to be the final version of 0.61 to the
delete-keys
branch. I spent some time re-running unit tests against
LocalStack and AWS. I think we're good. Let me know if you have time to
take a look and comment otherwise I'm going to pull the trigger and
release a new version.
Rob
On Wed, Mar 29, 2023 at 1:34 AM luiserd97 @.***> wrote:
Thanks for all the explanation!, finally I could make it work!
The problem was that I had "pod2markdown" in "/opt/homebrew/Cellar/perl/5.36.0/bin/" and the ./configure script wasn't looking for that path, but once I could figure out that that was the problem I could resolve it.
Aside of that everything worked fine here with no problems :)
— Reply to this email directly, view it on GitHub https://github.com/rlauer6/perl-amazon-s3/pull/10#issuecomment-1487972779, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA5WRWWAZMUS3Q6T4KWW6ADW6PCWBANCNFSM6AAAAAAWHYQHVA . You are receiving this because you commented.Message ID: @.***>
Hi,
Everything seems good on my side :)
Hello again!
Do we have an estimate to when the new version will be released? Please let me know if there is anything I can help with.
Best regards.
released this morning...thanks for contributing!
Rob
On Wed, Apr 12, 2023 at 11:09 AM luiserd97 @.***> wrote:
Hello again!
Do we have an estimate to when the new version will be released? Please let me know if there is anything I can help with.
Best regards.
— Reply to this email directly, view it on GitHub https://github.com/rlauer6/perl-amazon-s3/pull/10#issuecomment-1505445417, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA5WRWU7ZI5N5HKMHKK7U43XA3ASLANCNFSM6AAAAAAWHYQHVA . You are receiving this because you commented.Message ID: @.***>
Added function for bulk delete in one call.
https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjects.html