Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I'd like to be able to create a package that doesnt contain any code or programs itself, but instead installs other packages that exist in the repositories onto a computer, sort of how the ubuntu-restricted-extras package does?

share|improve this question

1 Answer 1

up vote 30 down vote accepted

A meta-package like this can be created with a tool called equivs which will create a package with just dependency information.

First, create a directory:

mkdir my-metapackage
cd my-metapackage/

Now run the program:

equivs-control ns-control

It will create a file called ns-control, open this file with your text editor. The control file that you generate should have its Depends or Recommends lines modified to depend on the packages that you want installed:

Section: misc
Priority: optional
Standards-Version: 3.9.1

Package: my-metapackage
Version: 1.0   
Depends: openssh-server, gedit
Description: This package installes an ssh server and a text editor
 The Long description of this package ends with a newline!

(Just an example, you should include more information)

And finally, build the package by running

equivs-build ns-control

Your package is located at my-metapackage/my-metapackage_1.0_all.deb.

If you wish to also create a source package, the --full option can be passed to equivs-build, e.g. equivs-build --full ns-control. This will use debuild & also create .dsc & .tar.gz files.

To create a source .changes file that you can upload to a PPA, extract & build the source package with

dpkg-source -x my-metapackage_1.0.dsc
cd my-metapackage-1.0
debuild -S

If the Maintainer that you set in ns-control matches your GPG key, it should build & sign the my-metapackage_1.0_source.changes file for you to dput to your PPA

share|improve this answer
    
Thanks much. I will most likely test this later, but so far, the instructions worked. :) –  Thomas W. Apr 4 '11 at 4:03
2  
It works perfectly! –  Stefano Palazzo Apr 4 '11 at 4:09
    
Thanks for the answer, ajmitch, but just because reasons, I"m going to point out that if you have a ~/.devscripts file and specifically define a different GPG key to use in the devscripts file, it will OVERRIDE the dpkg/debuild process and have it use the specific GPG key specified in .devscripts. Just as a noteworthy point for the last sentence in your answer. –  Thomas W. Sep 9 '13 at 17:00

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.