-------------------------------------------- On Sat, 9/6/14, Johannes Löthberg <[email protected]> wrote:
Subject: Re: [aur-general] AUR Best Practice for New Package Upload To: "Discussion about the Arch User Repository (AUR)" <[email protected]> Date: Saturday, September 6, 2014, 1:03 PM On 06 Sep 2014, at 12:06, stef <[email protected]> wrote: > 1) the main script which is CLI (available for python2 and/or python3) > 2) a GTK+ GUI (optional) for python2 > 3) the GTK+ GUI (optional) for python3 > > I use the GTK+GUI for python3 on my box but perhaps some users might want (or have to) > use python2. > > Question 1): > > The program is small (approx 250kb only) and my tendency would be to just do the one > package with all 3 components which users will then use as they see fit, CLI only or > GUI, etc. This would allow me to maintain only one package for this program. > >Is only one package OK with the AUR community? You shouldn’t mix python2 and 3. Make it a split package. > Question 2) I just basically downloaded the source tarball, extracted it to /opt and > am running it from there. > > My idea is to achieve the same with PKGBUILD, following proper protocol, etc. > > Is “installing” (extracting dir structure) to /opt a problem? Don’t do that, it’s very ewwy. Read up on how and where python packages are normally packaged. Or actually, read up on setuptools and write a setup.py that you can use in the PKGBUILD. =========================== @Johannes @nuno @list Sorry for not snipping the above quotes, but I wanted to leave all of the relevant info which might help. This is the program <https://github.com/jdleicher/MassHash/> MassHash: A set of file hashing tools. To be clear, this program, for which I am trying to build my first AUR PKGBUILD (bear with me please, still learning) is NOT a python package or library. So perhaps a setup.py may not necessarily be needed or relevant in this case. (I could be wrong.) 1. The program is not "expanding/extending" the Python Language itself. In other words it is not installing TO or writing code FOR Python, but USING the language for an end user application. Again, it is a PROGRAM, not a "python package". 2. Both the CLI and GUI are programs and not libraries. It might make sense to install a python library/package to the language installation itself so that other scripts can easily "import" said library/package into the code. But possibly not in this case. Right now, personally, on my box, I have the package as so (I just downloaded it since it is self-contained, there is nothing to build; and am just running it from there): /opt/MassHash /opt/MassHash/python2 /opt/MassHash/python2/masshash-launcher /opt/MassHash/python2/masshash /opt/MassHash/data /opt/MassHash/data/masshash-launcher.glade /opt/MassHash/data/masshash-launcher.svg /opt/MassHash/README /opt/MassHash/python3 /opt/MassHash/python3/masshash-launcher /opt/MassHash/python3/masshash /opt/MassHash/AUTHORS /opt/MassHash/COPYING *The program is self-contained.* In each of /opt/MassHash/python2/ and /opt/MassHash/python3/ there are 2 executables: masshash for the CLI and masshash-launcher to launch the program with the GTK+ GUI. So looking at <https://wiki.archlinux.org/index.php/Python_Package_Guidelines> I am not sure this applies here. And looking at <https://wiki.archlinux.org/index.php/Arch_Packaging_Standards#Directories> one idea would be to install as such: /usr/share/program/ /usr/share/program/data/ /usr/share/masshash/data/masshash-launcher.glade /usr/share/masshash/data/masshash-launcher.svg /usr/share/masshash/python3/ /usr/share/masshash/python3/masshash /usr/share/masshash/python3/masshash-launcher /usr/share/doc/ /usr/share/doc/masshash/AUTHORS /usr/share/doc/masshash/COPYING /usr/share/doc/masshash/README.md Then the PKGBUILD script creates another script or symlink which is placed in /usr/bin Would either /opt or /usr/share as above work or do you guys confirm that, according to AUR packaging standards it should have a setup.py ? (Johannes has already told me not to use /opt but I had not given the full data previously. Johannes, based on the additional info given here, feel free to confirm your earlier recommendation; or change it, as the case may be.) Guys, please also, let me know if the AUR forum might be better suited for this discussion and if so, I will move it there. Thanks a lot for your feedback and patience.
