FS#34551 - pacman: add functionality of user-defined meta packages

Attached to Project: Pacman
Opened by mark (mmm) - Monday, 01 April 2013, 15:41 GMT
Last edited by Dave Reisner (falconindy) - Friday, 14 June 2013, 20:00 GMT
Task Type Feature Request
Category Backend/Core
Status Closed
Assigned To No-one
Architecture All
Severity Medium
Priority Normal
Reported Version 4.1.0
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Hi, I'd like to propose a feature to pacman/makepkg, allow users to create new meta-packages quickly.
Just let them define name,[description],and dependencies.

I imagine something like:
$pacman --meta myNvidia --desc "local NV install with openCL" --depends nvidia, opencl, someother<=1.3.37

which would create a PKGBUILD with appropriate (name,desc,depends, provides,conflicts) fields, download deps, call makepkg, pacman -U the meta-package.

Use-cases:

#1 no more forgotten opt-depends

disadvantage of today's optdepends is they are installed as explicit, so when i go through my list of packages to removed unused ones, I usually wonder what that lib/pkg is good for there. Meta pkg would handle this gratefully.

#2 work projects

I tend to work on several projects, where each requires specific apps for work, so I install them, when the project is over, I would like to wipe them off, but usually forget which were those.

$pacman --meta midi --desc "computer generated music" --depends abcmidi,mp32midi,dino


I think I could implement this in shell, but dont have enough pacman knowledge to do it in pacman itself.

What do you think about the idea and design?
I believe the implementation part shouldnt be too complex, as all tools are already in place, just to hook them up appropriately.

Cheers, Mark

This task depends upon

Closed by  Dave Reisner (falconindy)
Friday, 14 June 2013, 20:00 GMT
Reason for closing:  None
Additional comments about closing:  3rd party tool meets the user's needs.
Comment by Andrew Gregory (andrewgregory) - Tuesday, 02 April 2013, 02:23 GMT
I really don't think this functionality belongs in pacman or makepkg. This is far more appropriate as a standalone tool. I don't know if it's still around, but I think Xyne once provided a tool that did what you want:

https://bbs.archlinux.org/viewtopic.php?id=53788

and there's still his somewhat related tool makedep that you may want to look at:

http://xyne.archlinux.ca/projects/makedep/
Comment by mark (mmm) - Tuesday, 02 April 2013, 14:27 GMT
Ok, thanks for the links. I believe it could be a nice feature for pacman/makepkg (as for example, support for installing from cvs repos and colors is comming to makepkg)
Anyways, I mentioned Xyne here: https://bugs.archlinux.org/task/11337 (btw, nice bug# :), and asking for metapax sources + his opinion).
Mentioned to "yaourt people" here: https://aur.archlinux.org/packages/yaourt/ ,because I didnt find other place to reach upstream.
Comment by Xyne (Xyne) - Friday, 05 April 2013, 19:21 GMT
Metapax's main function was simply to convert a file containing a name, description and a list of packages to a PKGBUILD and build it. It would be easier to write a script from scratch than sift through the Metapax functions to see how it works.

After I wrote the above, I took a look at the old code and started to rewrite a simplified version, but I quickly realized that the easiest way would be to simply create the .PKGMETA file manually and add it to an empty tar.xz archive.


Fwiw, I agree that this functionality is better left to a separate utility.
Comment by mark (mmm) - Saturday, 06 April 2013, 22:13 GMT
Xyne, thanks for looking at the sources. What do you mean by a .PKGMETA file?

If you dont think pacman is a good place, I'll either make a separate script, or try to add it to yaourt/packer.

Should the bug be closed?

Cheers!
Comment by Xyne (Xyne) - Sunday, 07 April 2013, 15:51 GMT
Sorry, I meant .AURINFO files. Read the release announcement for AUR 2.1.0: https://mailman.archlinux.org/pipermail/aur-dev/2013-March/002428.html

I think you should make a separate script. It is a package creator and should not be shoehorned into a package manager.

You can probably request closure of this thread as I doubt it will ever be implemented in Pacman.
Comment by Andrew Gregory (andrewgregory) - Wednesday, 05 June 2013, 04:10 GMT Comment by mark (mmm) - Sunday, 09 June 2013, 21:39 GMT
Yes, Andrew! Wow. That's exactly what I've been wanting! :)
Would you like to make an AUR package? Or should I.

Many thanks, this is perfect.
Comment by Andrew Gregory (andrewgregory) - Monday, 10 June 2013, 00:20 GMT
Feel free to make an AUR package, I don't have any plans to.
Comment by mark (mmm) - Monday, 10 June 2013, 15:02 GMT
One more, big KUDOS Andrew! :)
The pkg is in AUR, everyone enjoy.
https://aur.archlinux.org/packages/makepkg-meta-git

I think we can close .. me going consolidate all the packages accumulated throught time.

Loading...