AptRpm/Repositories UserPreferences
CncMoin FrontPage RecentChanges SiteNavigation HelpContents ComoTerConta
1. Contents
- Contents
- Simple repository setup
- Including a source repository
- Using a flat structure
- Using multiple components
- Specifying components
- Meta-components
/pub
/pub/conectiva
/pub/conectiva/RPMS.general
/pub/conectiva/RPMS.general/dummy-1.0-1cl.noarch.rpm
[niemeyer@ibook /pub]% genbasedir /pub/conectiva
Creating base directory… done
Components: general
Processing pkglists… general [done]
Processing srclists… [done]
Creating component releases… general [done]
Creating global release file… [done]
Appending MD5Sum… general [done]
All your base are belong to us!!!
[niemeyer@ibook /pub]% find /pub
/pub
/pub/conectiva
/pub/conectiva/base
/pub/conectiva/base/pkglist.general
/pub/conectiva/base/pkglist.general.bz2
/pub/conectiva/base/release.general
/pub/conectiva/base/release
/pub/conectiva/RPMS.general
/pub/conectiva/RPMS.general/dummy-1.0-1cl.noarch.rpm
Done! This repository is ready to be accessed by APT-RPM.
To make APT-RPM notice the new created repository, just append the following line in /etc/apt/sources.list:
rpm file:/pub conectiva general 3. Including a source repositoryThere’s no special setup to include a sources repository either. Here is another example including it:[niemeyer@ibook /pub]% find /pub/pub
/pub/conectiva
/pub/conectiva/RPMS.general
/pub/conectiva/RPMS.general/dummy-1.0-1cl.noarch.rpm
/pub/SRPMS.general
/pub/SRPMS.general/dummy-1.0-1cl.src.rpm
[niemeyer@ibook /pub]% genbasedir /pub/conectiva
Creating base directory… done
Components: general
Processing pkglists… general [done]
Processing srclists… general [done]
Creating component releases… general [done]
Creating global release file… [done]
Appending MD5Sum… general [done]
All your base are belong to us!!!
[niemeyer@ibook /pub]% find /pub
/pub
/pub/conectiva
/pub/conectiva/base
/pub/conectiva/base/pkglist.general
/pub/conectiva/base/pkglist.general.bz2
/pub/conectiva/base/srclist.general
/pub/conectiva/base/srclist.general.bz2
/pub/conectiva/base/release.general
/pub/conectiva/base/release
/pub/conectiva/RPMS.general
/pub/conectiva/RPMS.general/dummy-1.0-1cl.noarch.rpm
/pub/SRPMS.general
/pub/SRPMS.general/dummy-1.0-1cl.src.rpm
To make APT-RPM notice the new created repository, including the sources, just append the following lines in /etc/apt/sources.list:
rpm file:/pub conectiva generalrpm-src file:/pub conectiva general 4. Using a flat structureNotice that in the example above, the SRPMS.general directory is outside of the conectiva/ directory. This used to be the most common form to setup an RPM package structure, but sometimes this structure may be incovenient. To use SRPMS in the same directory level, just use the –flat option. Here’s another example:[niemeyer@ibook /pub]% find /pub
/pub
/pub/conectiva
/pub/conectiva/RPMS.general
/pub/conectiva/RPMS.general/dummy-1.0-1cl.noarch.rpm
/pub/conectiva/SRPMS.general
/pub/conectiva/SRPMS.general/dummy-1.0-1cl.src.rpm
[niemeyer@ibook /pub]% genbasedir –flat /pub/conectiva
Creating base directory… done
Components: general
Processing pkglists… general [done]
Processing srclists… general [done]
Creating component releases… general [done]
Creating global release file… [done]
Appending MD5Sum… general [done]
All your base are belong to us!!!
[niemeyer@ibook /pub]% find /pub
/pub
/pub/conectiva
/pub/conectiva/base
/pub/conectiva/base/pkglist.general
/pub/conectiva/base/pkglist.general.bz2
/pub/conectiva/base/srclist.general
/pub/conectiva/base/srclist.general.bz2
/pub/conectiva/base/release.general
/pub/conectiva/base/release
/pub/conectiva/RPMS.general
/pub/conectiva/RPMS.general/dummy-1.0-1cl.noarch.rpm
/pub/conectiva/SRPMS.general
/pub/conectiva/SRPMS.general/dummy-1.0-1cl.src.rpm
From a user point of view, there’s no difference if your repository is flat or not. That is, to make APT-RPM notice the new created repository, you’d append the same lines in /etc/apt/sources.list:
rpm file:/pub conectiva generalrpm-src file:/pub conectiva general 5. Using multiple componentsFor now, all examples were using a single general component. We can have as many components as necessary in a single repository. For example:[niemeyer@ibook /pub]% find /pub
/pub
/pub/conectiva
/pub/conectiva/RPMS.general
/pub/conectiva/RPMS.general/dummy-1.0-1cl.noarch.rpm
/pub/conectiva/RPMS.misc
/pub/conectiva/RPMS.misc/foobar-1.0-1cl.noarch.rpm
[niemeyer@ibook /pub]% genbasedir /pub/conectiva
Creating base directory… done
Components: general misc
Processing pkglists… general misc [done]
Processing srclists… [done]
Creating component releases… general misc [done]
Creating global release file… [done]
Appending MD5Sum… general misc [done]
All your base are belong to us!!!
[niemeyer@ibook /pub]% find /pub
/pub
/pub/conectiva
/pub/conectiva/base
/pub/conectiva/base/pkglist.general
/pub/conectiva/base/pkglist.general.bz2
/pub/conectiva/base/pkglist.misc
/pub/conectiva/base/pkglist.misc.bz2
/pub/conectiva/base/release.general
/pub/conectiva/base/release.misc
/pub/conectiva/base/release
/pub/conectiva/RPMS.general
/pub/conectiva/RPMS.general/dummy-1.0-1cl.noarch.rpm
/pub/conectiva/RPMS.misc
/pub/conectiva/RPMS.misc/foobar-1.0-1cl.noarch.rpm
To make APT-RPM notice the new created repository, just append the following line in /etc/apt/sources.list:
rpm file:/pub conectiva general misc 6. Specifying componentsIn all examples above genbasedir was finding the components by itself. If necessary, you may select which components to build. For example:[niemeyer@ibook /pub]% find /pub/pub
/pub/conectiva
/pub/conectiva/RPMS.general
/pub/conectiva/RPMS.general/dummy-1.0-1cl.noarch.rpm
/pub/conectiva/RPMS.misc
/pub/conectiva/RPMS.misc/foobar-1.0-1cl.noarch.rpm
[niemeyer@ibook /pub]% genbasedir /pub/conectiva general
Components: general
Processing pkglists… general [done]
Processing srclists… [done]
Creating component releases… [done]
Updating global release file… [done]
Appending MD5Sum… general [done]
All your base are belong to us!!!
Notice that when you do that, the release file inside the base directory will contain information only about that single component. If you’re updating just some components of a big repository, you’ll probably want to use –partial as well, like this:
[niemeyer@ibook /pub]% genbasedir –partial /pub/conectiva generalComponents: general
Processing pkglists… general [done]
Processing srclists… [done]
Creating component releases… [done]
Partially updating global release file… [done]
Appending MD5Sum… general [done]
All your base are belong to us!!! 7. Meta-componentsSince version 0.5.5cnc4, APT-RPM supports the concept of meta-components A meta-component may use information contained in one or more components, while using a different name. In the example below, we create a meta-component named all:[niemeyer@ibook /pub]% find /pub
/pub
/pub/conectiva
/pub/conectiva/RPMS.general
/pub/conectiva/RPMS.general/dummy-1.0-1cl.noarch.rpm
/pub/conectiva/RPMS.misc
/pub/conectiva/RPMS.misc/foobar-1.0-1cl.noarch.rpm
[niemeyer@ibook /pub]% genbasedir –meta=all /pub/conectiva
Components: general misc
Processing pkglists… general misc [done]
Processing srclists… [done]
Creating component releases… all [done]
Updating global release file… [done]
Appending MD5Sum… all [done]
All your base are belong to us!!!
[niemeyer@ibook /pub]% find /pub
/pub
/pub/conectiva
/pub/conectiva/base
/pub/conectiva/base/pkglist.all
/pub/conectiva/base/pkglist.all.bz2
/pub/conectiva/base/release.all
/pub/conectiva/base/release
/pub/conectiva/RPMS.general
/pub/conectiva/RPMS.general/dummy-1.0-1cl.noarch.rpm
/pub/conectiva/RPMS.misc
/pub/conectiva/RPMS.misc/foobar-1.0-1cl.noarch.rpm
From a user point of view, there’s no difference between a meta-component and a normal component. To make APT-RPM notice the new created repository, just append the following line in /etc/apt/sources.list:
rpm file:/pub conectiva all