On jeu, 2014-09-18 at 11:26 -0700, stef wrote:
-------------------------------------------- On Tue, 9/16/14, Nuno Araujo <nuno.araujo@russo79.com> wrote:
Subject: Re: [aur-general] AUR Best Practice for New Package Upload To: aur-general@archlinux.org Date: Tuesday, September 16, 2014, 1:42 PM
Try to study it and feel free to ask any questions you want about it.
-- Nuno Araujo <nuno.araujo@russo79.com> http://www.russo79.com
========================================= @nuno @list
So, I have studied the PKGBUILD and install file.
I have some questions, a few of which might be really newb-type but please bear with me.
All is clear in your PKGBUILD: and it was certainly helpful to see how you went about it; clean and simple.
1) Questions regarding the variables $pkgdir and $srcdir .
My understanding: these 2 babies are directories created by makepkg during the fetch source, configure, build and install to fakeroot process. $srcdir is where makepkg stores all source files downloaded. $pkgdir is where the build/compiled files are then stored in the fakeroot environment which gets compressed into the final .pkg.tar.xz file. THAT .tar.xz file is a compressed archive which contains the directory structure and installed files which pacman will then extract to user's root system.
a) Did i get this right?
More or less, the source files are into $SRCDEST, which defaults to the current directory. (you should take a look at makepkg.conf man page). $srcdir is a folder where the source files are uncompressed (or symlinked). As for $pkgdir, you are right. It should be noted that besides the built/compiled files, the .install files as well as a .PKGINFO file providing the package metadata is also in that directory.
b) what happens to $srcdir and $pkgdir ? I imagine those are just 'temp' dirs which makepkg deletes when it's done compressing the fakeroot?
makepkg doesn't delete them. It's your work.
2) in the PKGBUILD, you are dropping the data/ directory and installing both .svg and .glade files to /usr/share/masshash-launcher/
In python3/ masshash-launcher:
L31 #path to glade ui file L32 glade_source_dir = '../data/masshash-launcher.glade' L33 if os.path.isfile(glade_source_dir): L34 glade = glade_source_dir L35 else: L36 glade = '/usr/share/masshash-launcher/masshash-launcher.glade'
So you're using L36 as opposed to 32.
This is your preference? Or for the sake of simplicity? So as not to create an additional dir "data" as unnecessary?
(Sorry not trying to be "anal" but only to understand.)
Neither. If you give it a look, you'll see that L32 refers to a relative path. This is usually used when developing a program. While coding, you would like to access your work version of the files. This allows work to be done on a "development" version of the program without affecting the one installed on your system.
3) You are copying the svg file to /usr/share/icons/hicolor/scalable/apps/ Then you are using the install file to update the gtk icon cache--which I didn't even think of and makes a lot of sense. Why the hicolor though? Your choice? Because it is the most basic/core GTK icon theme?
Sorry, but this is all a bit new to me.
If you give a look at the contents of the hicolor-icon-theme package, you will see that it has no icons by itself. Only a "standard" set of directories where icons should to be stored and a index file describing these directories. Having this theme installed ensure that you can call gtk-update-icon-cache without issues. This "theme" is usually the standard place to store your application icons (at least in a XDG "compatible" desktop).
4) Not important; for the CLI program, the category I would use to upload to AUR would be "system" but since we also have the GUI, (which would be what X11?), which category would you recommend when uploading to AUR? X11?
My personal opinion: I don't care about AUR categories. But if I had to choose between both, I would pick "system".
5) @nuno : Do you want to be listed as contributor? Would only be (more than) fair (eeer...) but might be a bit of a PITA for you....Just let me know.
Don't care. Seing the time and effort you're putting to study a single and simple PKGBUILD, you deserve to take all the credit for it.
Thanks.
As a generic advice, take the time to read the man pages of Arch Linux build system utilities and configuration files (e.g. man PKGBUILD, man makepkg, man pacman, man pacman.conf, and so on...). Also read other AUR PKGBUILDs (or even better, the one published in core and extra repositories). There you would have find answers for some of the questions you asked. -- Nuno Araujo <nuno.araujo@russo79.com> http://www.russo79.com