cpan2aur - AUR maintainer utility for CPAN perl modules
cpan2aur [-v -f] <Module::Names /pkg/dirs/> cpan2aur [-v -f] --directory <Module::Names> cpan2aur [-v -f] --upload [Module::Names filenames.src.tar.gz /pkg/dirs/] cpan2aur [-v -f] --check <file-names.src.tar.gz /pkg/dirs/> -h, --help Display this usage message. -m, --man Display full help manual page. -v, --verbose Allow CPANPLUS to be more verbose. -f, --force Overwrite files without asking. -d, --directory Create a source package directory with a standard PKGBUILD.tt template file. -r, --reverse Convert a PKGBUILD in the current directory to a template file (PKGBUILD.tt). TODO: The upload feature is currently disabled due to AUR v4.0 changing to a Git backend and HTTP Uploads removed. -u, --upload [dir] Upload the generated source package to the AUR. [file] * If a dir is specified cd to that dir and [module] convert PKGBUILD.tt to a PKGBUILD to a source package, then upload it. * If a file is specified, upload it if it appears to be a source package. * If a module is specified, package and upload it. * If nothing is specified, act upon the current directory. -c, --check <dir> Check if a source package or directory (with a <file> source package or PGKBUILD in it) is outdated. If so, then --upload a new version. -n, --name <username> Specify a different username to login to the AUR, instead of the last one used. -p, --pass <password> Specify a password to use to login to AUR. -m, --mono Disable color output, use monochrome black/white. -i, --inc <dir> Rebuild the source package, incrementing the <file> release number. (Unlike GNU options, single-letter options need their own hyphens example: -u -d)
This is a utility made for creating and uploading perl packages for the AUR (Archlinux User Repository). cpan2aur's simplest usage, without any flags, creates AUR source packages:
If you specify a Module::Name we create a source package file in the current directory.
If you specify a directory we will generate that template directory's source package.
With the -d or --directory flag cpan2aur will create a directory to contain the source package and generate a PKGBUILD.tt template inside it. This is best when starting to maintain a new AUR package that requires manual PKGBUILD tweaking.
PKGBUILD.tt
Templates are a powerful way to make maintaining packages on the AUR easier. Most of the time you will not have to update the PKGBUILD.tt template, you will just use the --upload flag on a source package directory containing a template. This will convert the template to a PKGBUILD by filling in the new info for the new CPAN version.
With the -u or --upload flag cpan2aur will upload a source package to the AUR. It will try to Do The Right Thing (tm) for command line arguments. Arguments can be source package files, directories for source packages, or module/distribution names.
We store previous logins inside the file ~/.cpan2aur. The last username that was used will be retried. To use a different username, use the -n or --name flag or delete the ~/.cpan2aur file.
~/.cpan2aur
You can even use the --check flag to check if a new version of the perl distribution is available on CPAN. If it is, cpan2aur will go through the --upload process. This is done by checking the versions of previously build .src.tar.gz files or PKGBUILDs.
For example, I keep a copy of the source packages I maintain inside my ~/aur directory. Some of these packages I have created directories and PKGBUILD.tt files for, because they require more customization.
~/aur
[juster@virtuarch ~]$ cd ~/aur [juster@virtuarch aur]$ ls perl-alpm-0.05-1.src.tar.gz perl-text-csv-xs-0.70-1.src.tar.gz perl-sepia perl-text-xsv-0.21-1.src.tar.gz perl-text-csv perl-tkx [juster@virtuarch aur]$
Now to check and see if any of these packages need updating, I just use the --check flag to find new versions and upload them automatically.
[juster@virtuarch aur]$ cpan2aur --check perl-* ==> Checking if perl-alpm-0.05-1.src.tar.gz is up to date... ==> Looking up module for ALPM on CPAN... perl-alpm-0.05-1.src.tar.gz is up to date. ==> Checking if perl-sepia is up to date... ==> Looking up module for Sepia on CPAN... perl-sepia is up to date. ==> Checking if perl-text-csv is up to date... ==> Looking up module for Text-CSV on CPAN... perl-text-csv is up to date. ==> Checking if perl-text-csv-xs-0.70-1.src.tar.gz is up to date... ==> Looking up module for Text-CSV_XS on CPAN... perl-text-csv-xs-0.70-1.src.tar.gz is up to date. ==> Checking if perl-text-xsv-0.21-1.src.tar.gz is up to date... ==> Looking up module for Text-xSV on CPAN... perl-text-xsv-0.21-1.src.tar.gz is up to date. ==> Checking if perl-tkx is up to date... ==> Looking up module for Tkx on CPAN... perl-tkx is up to date. [juster@virtuarch aur]$
It's kind of boring since I don't have anything outdated to upload but I hope you get the idea...
CPANPLUS::Dist::Arch
http://aur.archlinux.org
Created by: Justin Davis <juster at cpan dot org>
<juster at cpan dot org>
Serendipitously maintained by: John D Jones III <jnbek at cpan dot org>
<jnbek at cpan dot org>
Copyright 2010-2015 Justin Davis, all rights reserved.
Copyright 2015 John D Jones III, all rights reserved
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install CPANPLUS::Dist::Arch, copy and paste the appropriate command in to your terminal.
cpanm
cpanm CPANPLUS::Dist::Arch
CPAN shell
perl -MCPAN -e shell install CPANPLUS::Dist::Arch
For more information on module installation, please visit the detailed CPAN module installation guide.