[arch-general] new arch user, questions about package management

Dennis Herbrich dennis at archlinux.org
Wed Jun 11 09:40:11 EDT 2008


On Wed, June 11, 2008 14:45, Dave Heistand wrote:
> Hi,
Greetings!

> What I'm looking for is a way to see a diff of my package cache prior to
> and just after syncing, i.e. what packages are out of date (which pacman
> does show), what packages have been removed from the repositories since my
> last sync and what packages have been added to the repository since my
> last sync.

To my knowledge, no developer supported package doing this is available,
but there may be very well a host of shell scripts in one of the TURs
fulfilling your requirements, more or less (likely less ;]). Some CVS
magic on the ABS-tree may be the way to go, though, it's all in there. You
just need to keep/extract the date of your last sync operation.


> To me Arch package building is refreshing when compared to my experiences
> with ebuilds and rpm spec files.  I can't seem to find a list of all the
> varibles that can be used in a PKGBUILD script though (like $startdir
> etc), where would I find that info?

Your best bet is 'man PKGBUILD'. You may, of course, define your own
variables to use throughout the build process if you need any. Prefixing
those with something (common choice is an underscore) to prevent name
clashes helps, though. The Wiki elaborates on this in the packaging
guidelines a bit.


> If I end up totally switching I want to make my own repository (like a
> yum or apt repository) of my custom packages for the systems I manage.  I
> think I've seen a few pages on how to set that up but if there is an
> authoritative page someone knows of I'd appreciate it.

http://wiki.archlinux.org/index.php/Custom_local_repository

I've looked over it right now, and this is the way to go, using repo-add
and repo-remove.

To paraphrase the wiki page, just throw all packages you want to keep in
your repository into an invariant directory, possibly using the PKGDEST
variable in your build machine's /etc/makepkg.conf (see manpage for
details), and run repo-add to define the name of the <foo>.db.tar.gz file
in that directory, as well as all packages that shall be indexed
(wildcards help). <foo> is then, by definition, the name by which your
repository will have to be referenced in /etc/pacman.conf files. Sharing
this directory via http/ftp is straightforward.

Syncing will then consider your repo, and you may install explicitly
versions from your repo by using the lesser known 'pacman -Sy
<foo>/mypackage' syntax, where an explicit repo name is prefixed.

> I've been running arch on my laptop and home system for almost a week now
> and I am very happy with the results so far.

That's always nice to hear!
I always considered Arch's packaging one of the distribution's strong points.

> Thanks in advance for your help,
> Dave

You're welcome,
  Dennis





More information about the arch-general mailing list