Discussion:
Which how to for apt-get repository on CentOS?
(too old to reply)
Ignacio Valdes
2010-05-05 04:20:01 UTC
Permalink
Hi all, Building an apt-get repository on CentOS. There seems to be
many documents on apt-get repository building but they point to many
different commands like apparently deprecated dpkg-scanfiles, reprepro
and others. Which one is the correct one? -- IV
--
To UNSUBSCRIBE, email to debian-mentors-***@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact ***@lists.debian.org
Archive: http://lists.debian.org/***@mail.gmail.com
Russ Allbery
2010-05-05 04:40:01 UTC
Permalink
Hi all, Building an apt-get repository on CentOS. There seems to be many
documents on apt-get repository building but they point to many
different commands like apparently deprecated dpkg-scanfiles, reprepro
and others. Which one is the correct one? -- IV
I recommend starting with reprepro. The documentation isn't ideal and it
can be confusing, but it does everything as opposed to requiring you to
stitch together a bunch of separate commands and it's fully capable of
anything you might need.

There are some other, simpler ones tha I forget off-hand that might be
better for smaller repositories (reprepro does have the problem of having
a lot of reprepro make-angels-dance-on-pin sorts of commands where it's
very inobvious when you want to ever run them), but I think reprepro is
the current fully-functional standard for repository management software.
--
Russ Allbery (***@debian.org) <http://www.eyrie.org/~eagle/>
--
To UNSUBSCRIBE, email to debian-mentors-***@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact ***@lists.debian.org
Archive: http://lists.debian.org/***@windlord.stanford.edu
Goswin von Brederlow
2010-05-05 09:10:03 UTC
Permalink
Post by Russ Allbery
Hi all, Building an apt-get repository on CentOS. There seems to be many
documents on apt-get repository building but they point to many
different commands like apparently deprecated dpkg-scanfiles, reprepro
and others. Which one is the correct one? -- IV
I recommend starting with reprepro. The documentation isn't ideal and it
can be confusing, but it does everything as opposed to requiring you to
stitch together a bunch of separate commands and it's fully capable of
anything you might need.
There are some other, simpler ones tha I forget off-hand that might be
better for smaller repositories (reprepro does have the problem of having
a lot of reprepro make-angels-dance-on-pin sorts of commands where it's
very inobvious when you want to ever run them), but I think reprepro is
the current fully-functional standard for repository management software.
I concurr with that recommendation of reprepro. If you follow
/usr/share/doc/reprepro/short-howto.gz then you can be up and running in
a few minutes. Learning about all the features takes longer though. I
think reprepro is just the simplest all around for creating a
repository.


dpkg-scanpackages/sources can also be used but that only generated the
Packages/Sources files. It does not generate Release or Release.gpg
files or manage the debs or sources in any way. So to use that you need
a lot of extra scripts around it.

The official Debian archive uses apt-ftparchive but again you need
scripts around that for a fully functional repository.

Then there is also debpool and mini-dinstall. Both are targeted
specifically for small private repositories with minimal dependcies. The
full DAK Debian uses needs a postgresql database for example. Not these
tools (reprepro used libdb-4.8.so, not postgresql). But I believe both
debpool and mini-dinstall are limited by the archive size.


Another reason why I also recommend reprepro is that it can also mirror
(multiple) repositories and filter them. It is easy to set up reprepro
to mirror debian main, contrib and non-free and add an extra local
branch for packages you compile yourself. You can also snapshot your
repository, e.g. to make a release of what is currently there. Or query
what sources need building for some arch and run a buildd. Lots of nice
features that are easy to use and might come in handy in the future.
All with being small and easy to get started.

MfG
Goswin
--
To UNSUBSCRIBE, email to debian-mentors-***@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact ***@lists.debian.org
Archive: http://lists.debian.org/***@frosties.localdomain
Ignacio Valdes
2010-05-07 03:50:01 UTC
Permalink
Does reprepro run on rpm based systems? So far I am not finding that
it does. I currently have to use a rpm based repository server for
reasons of history... -- IV
Post by Goswin von Brederlow
Hi all, Building an apt-get repository on CentOS. There seems to be many
documents on apt-get repository building but they point to many
different commands like apparently deprecated dpkg-scanfiles, reprepro
and others. Which one is the correct one? -- IV
I recommend starting with reprepro.  The documentation isn't ideal and it
can be confusing, but it does everything as opposed to requiring you to
stitch together a bunch of separate commands and it's fully capable of
anything you might need.
There are some other, simpler ones tha I forget off-hand that might be
better for smaller repositories (reprepro does have the problem of having
a lot of reprepro make-angels-dance-on-pin sorts of commands where it's
very inobvious when you want to ever run them), but I think reprepro is
the current fully-functional standard for repository management software.
I concurr with that recommendation of reprepro. If you follow
/usr/share/doc/reprepro/short-howto.gz then you can be up and running in
a few minutes. Learning about all the features takes longer though.  I
think reprepro is just the simplest all around for creating a
repository.
dpkg-scanpackages/sources can also be used but that only generated the
Packages/Sources files. It does not generate Release or Release.gpg
files or manage the debs or sources in any way. So to use that you need
a lot of extra scripts around it.
The official Debian archive uses apt-ftparchive but again you need
scripts around that for a fully functional repository.
Then there is also debpool and mini-dinstall. Both are targeted
specifically for small private repositories with minimal dependcies. The
full DAK Debian uses needs a postgresql database for example. Not these
tools (reprepro used libdb-4.8.so, not postgresql). But I believe both
debpool and mini-dinstall are limited by the archive size.
Another reason why I also recommend reprepro is that it can also mirror
(multiple) repositories and filter them. It is easy to set up reprepro
to mirror debian main, contrib and non-free and add an extra local
branch for packages you compile yourself. You can also snapshot your
repository, e.g. to make a release of what is currently there. Or query
what sources need building for some arch and run a buildd. Lots of nice
features that are easy to use and might come in handy in the future.
All with being small and easy to get started.
MfG
       Goswin
--
--
To UNSUBSCRIBE, email to debian-mentors-***@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact ***@lists.debian.org
Archive: http://lists.debian.org/***@mail.gmail.com
Goswin von Brederlow
2010-05-07 08:30:02 UTC
Permalink
Post by Ignacio Valdes
Does reprepro run on rpm based systems? So far I am not finding that
it does. I currently have to use a rpm based repository server for
reasons of history... -- IV
Package: reprepro
Depends: libarchive1 (>= 2.0.25), libbz2-1.0, libc6 (>= 2.7), libdb4.8, libgpg-error0 (>= 1.6-1), libgpgme11 (>= 1.2.0), zlib1g (>= 1:1.2.0.2)

If you have those depends installed then reprepro should work.


Or do you mean creting a repository that contains rpms for use with apt-rpm?

MfG
Goswin
--
To UNSUBSCRIBE, email to debian-mentors-***@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact ***@lists.debian.org
Archive: http://lists.debian.org/***@frosties.localdomain
Ignacio Valdes
2010-05-07 13:20:02 UTC
Permalink
Post by Goswin von Brederlow
Post by Ignacio Valdes
Does reprepro run on rpm based systems? So far I am not finding that
it does. I currently have to use a rpm based repository server for
reasons of history... -- IV
Package: reprepro
Depends: libarchive1 (>= 2.0.25), libbz2-1.0, libc6 (>= 2.7), libdb4.8, libgpg-error0 (>= 1.6-1), libgpgme11 (>= 1.2.0), zlib1g (>= 1:1.2.0.2)
If you have those depends installed then reprepro should work.
Sounds good but after installing the above is this a more or less
hands on reprepro install from source for rpm based systems? No yum or
rpm available for reprepro? yum install says reprepro not available.
Post by Goswin von Brederlow
Or do you mean creting a repository that contains rpms for use with apt-rpm?
Not that I know of. Unfortunately my dedicated repository server is
currently running CentOS but needs to serve the Astronaut VistA
install suite for both yum and apt-get.

-- IV
--
To UNSUBSCRIBE, email to debian-mentors-***@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact ***@lists.debian.org
Archive: http://lists.debian.org/***@mail.gmail.com
Ignacio Valdes
2010-05-08 04:00:01 UTC
Permalink
The depends for rpm based systems to install reprepro are named
slightly differently, they are:

bzip2-devel
gpgme-devel
zlib-devel
db4-devel
libarchive-devel

of course gcc is needed as well.

then ./configure; make; make install

Repository for sources is here:

http://ubuntu.mithril-linux.org/archives/pool/universe/r/reprepro/

-- IV
Post by Goswin von Brederlow
Post by Ignacio Valdes
Does reprepro run on rpm based systems? So far I am not finding that
it does. I currently have to use a rpm based repository server for
reasons of history... -- IV
Package: reprepro
Depends: libarchive1 (>= 2.0.25), libbz2-1.0, libc6 (>= 2.7), libdb4.8, libgpg-error0 (>= 1.6-1), libgpgme11 (>= 1.2.0), zlib1g (>= 1:1.2.0.2)
If you have those depends installed then reprepro should work.
Or do you mean creting a repository that contains rpms for use with apt-rpm?
MfG
       Goswin
--
To UNSUBSCRIBE, email to debian-mentors-***@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact ***@lists.debian.org
Archive: http://lists.debian.org/AANLkTiliCSaIynmvjcx-praB4VE51EnWAySD3HWm-***@mail.gmail.com
Boyd Stephen Smith Jr.
2010-05-05 14:30:02 UTC
Permalink
Post by Ignacio Valdes
Hi all, Building an apt-get repository on CentOS. There seems to be
many documents on apt-get repository building but they point to many
different commands like apparently deprecated dpkg-scanfiles, reprepro
and others. Which one is the correct one? -- IV
For a simple repository, I used apt-ftparchive. If you are going to have
multiple releases (e.g. lenny, sid), multiple sections (e.g. main, non-free),
or a package pool, then it might be too simple a tool, however.
--
Boyd Stephen Smith Jr. ,= ,-_-. =.
***@iguanasuicide.net ((_/)o o(\_))
ICQ: 514984 YM/AIM: DaTwinkDaddy `-'(. .)`-'
http://iguanasuicide.net/ \_/
Ignacio Valdes
2010-05-10 04:50:02 UTC
Permalink
Okay,

Using the following article:
http://www.jejik.com/articles/2006/09/setting_up_and_managing_an_apt_repository_with_reprepro/

I have with reprepro generated test apt-get repository at:
http://174.143.201.52/ubuntu/

The files are present and I have placed in my local machine in
/etc/apt/sources.list.d/astronaut.list file which contains:

## Astronaut Ubuntu APT repository
deb http://174.143.201.52/ubuntu karmic main
deb-src http://174.143.201.52/ubuntu karmic main

However the repository seems invisible. I try apt-get install
astronaut-wv-server-beta and it cannot find it as well as a apt-cache
search astronaut doesn't find anything. I may have misconfigured
something but I am not sure what as it seems visible.

-- IV
Post by Ignacio Valdes
Hi all, Building an apt-get repository on CentOS. There seems to be
many documents on apt-get repository building but they point to many
different commands like apparently deprecated dpkg-scanfiles, reprepro
and others. Which one is the correct one? -- IV
--
To UNSUBSCRIBE, email to debian-mentors-***@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact ***@lists.debian.org
Archive: http://lists.debian.org/AANLkTimdEG-EYx1G-***@mail.gmail.com
Ignacio Valdes
2010-05-10 15:00:01 UTC
Permalink
That improved things, but I am now getting

E: Problem parsing dependency Conflicts
E: Error occurred while processing astronaut-wv-server-beta (NewVersion1)
E: Problem with MergeList
/var/lib/apt/lists/174.143.201.52_dists_karmic_main_binary-i386_Packages
E: The package lists or status file could not be parsed or opened.

Browsing to here though shows that the Packages file can be opened or
read at least through http

http://174.143.201.52/ubuntu/dists/karmic/main/binary-i386/Packages
Post by Ignacio Valdes
http://www.jejik.com/articles/2006/09/setting_up_and_managing_an_apt_repository_with_reprepro/
http://174.143.201.52/ubuntu/
The files are present and I have placed in my local machine in
## Astronaut Ubuntu APT repository
deb http://174.143.201.52/ubuntu karmic main
deb-src http://174.143.201.52/ubuntu karmic main
However the repository seems invisible. I try apt-get install
astronaut-wv-server-beta and it cannot find it as well as a apt-cache
search astronaut doesn't find anything. I may have misconfigured
something but I am not sure what as it seems visible.
Looking at the documentation you gave a link to, that Virtual host entry
seems to place things in the root directory. I.e. you most likely
need
deb http://174.143.201.52/ karmic main
deb-src http://174.143.201.52/ karmic main
Hochachtungsvoll,
       Bernhard R. Link
--
To UNSUBSCRIBE, email to debian-mentors-***@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact ***@lists.debian.org
Archive: http://lists.debian.org/AANLkTiloAA_qnwfAEINAY2lnVBEZBX-eT-***@mail.gmail.com
Ignacio Valdes
2010-05-10 19:10:01 UTC
Permalink
Checked my server logs and found the following. Packages.gz exists but
that's not what the client is looking for:

[Mon May 10 18:41:47 2010] [error] [client 75.223.92.226] File does
not exist: /var/packages/dists/karmic/Release.gpg
[Mon May 10 18:41:47 2010] [error] [client 75.223.92.226] File does
not exist: /var/packages/dists/karmic/main/i18n
[Mon May 10 18:41:48 2010] [error] [client 75.223.92.226] File does
not exist: /var/packages/dists/karmic/main/binary-i386/Packages.bz2
[Mon May 10 18:41:48 2010] [error] [client 75.223.92.226] File does
not exist: /var/packages/dists/karmic/main/binary-i386/Packages.lzma
Post by Ignacio Valdes
That improved things, but I am now getting
E: Problem parsing dependency Conflicts
E: Error occurred while processing astronaut-wv-server-beta (NewVersion1)
E: Problem with MergeList
/var/lib/apt/lists/174.143.201.52_dists_karmic_main_binary-i386_Packages
E: The package lists or status file could not be parsed or opened.
Browsing to here though shows that the Packages file can be opened or
read at least through http
http://174.143.201.52/ubuntu/dists/karmic/main/binary-i386/Packages
Post by Ignacio Valdes
http://www.jejik.com/articles/2006/09/setting_up_and_managing_an_apt_repository_with_reprepro/
http://174.143.201.52/ubuntu/
The files are present and I have placed in my local machine in
## Astronaut Ubuntu APT repository
deb http://174.143.201.52/ubuntu karmic main
deb-src http://174.143.201.52/ubuntu karmic main
However the repository seems invisible. I try apt-get install
astronaut-wv-server-beta and it cannot find it as well as a apt-cache
search astronaut doesn't find anything. I may have misconfigured
something but I am not sure what as it seems visible.
Looking at the documentation you gave a link to, that Virtual host entry
seems to place things in the root directory. I.e. you most likely
need
deb http://174.143.201.52/ karmic main
deb-src http://174.143.201.52/ karmic main
Hochachtungsvoll,
       Bernhard R. Link
--
--
To UNSUBSCRIBE, email to debian-mentors-***@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact ***@lists.debian.org
Archive: http://lists.debian.org/AANLkTikReBro8sUCl-***@mail.gmail.com
Ignacio Valdes
2010-05-11 04:30:02 UTC
Permalink
This is a vexing problem. The things that are supposed to fix all the
below do not. -- IV
Post by Ignacio Valdes
Checked my server logs and found the following. Packages.gz exists but
[Mon May 10 18:41:47 2010] [error] [client 75.223.92.226] File does
not exist: /var/packages/dists/karmic/Release.gpg
[Mon May 10 18:41:47 2010] [error] [client 75.223.92.226] File does
not exist: /var/packages/dists/karmic/main/i18n
[Mon May 10 18:41:48 2010] [error] [client 75.223.92.226] File does
not exist: /var/packages/dists/karmic/main/binary-i386/Packages.bz2
[Mon May 10 18:41:48 2010] [error] [client 75.223.92.226] File does
not exist: /var/packages/dists/karmic/main/binary-i386/Packages.lzma
Post by Ignacio Valdes
That improved things, but I am now getting
E: Problem parsing dependency Conflicts
E: Error occurred while processing astronaut-wv-server-beta (NewVersion1)
E: Problem with MergeList
/var/lib/apt/lists/174.143.201.52_dists_karmic_main_binary-i386_Packages
E: The package lists or status file could not be parsed or opened.
Browsing to here though shows that the Packages file can be opened or
read at least through http
http://174.143.201.52/ubuntu/dists/karmic/main/binary-i386/Packages
Post by Ignacio Valdes
http://www.jejik.com/articles/2006/09/setting_up_and_managing_an_apt_repository_with_reprepro/
http://174.143.201.52/ubuntu/
The files are present and I have placed in my local machine in
## Astronaut Ubuntu APT repository
deb http://174.143.201.52/ubuntu karmic main
deb-src http://174.143.201.52/ubuntu karmic main
However the repository seems invisible. I try apt-get install
astronaut-wv-server-beta and it cannot find it as well as a apt-cache
search astronaut doesn't find anything. I may have misconfigured
something but I am not sure what as it seems visible.
Looking at the documentation you gave a link to, that Virtual host entry
seems to place things in the root directory. I.e. you most likely
need
deb http://174.143.201.52/ karmic main
deb-src http://174.143.201.52/ karmic main
Hochachtungsvoll,
       Bernhard R. Link
--
--
--
To UNSUBSCRIBE, email to debian-mentors-***@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact ***@lists.debian.org
Archive: http://lists.debian.org/AANLkTilcb8wvTYkRHNp-***@mail.gmail.com
Ignacio Valdes
2010-05-13 03:50:02 UTC
Permalink
Finally it works!

The problem was that if you have a tag in the control file like
Conflicts: with no value it will not warn you and will tell you (far)
downstream that something is wrong with dependencies but that is all.
So the problem was simply a Conflicts: with no values. Removed it and
it all works now.

Thanks to all for your patience and advice.

-- IV
Post by Ignacio Valdes
This is a vexing problem. The things that are supposed to fix all the
below do not. -- IV
Post by Ignacio Valdes
Checked my server logs and found the following. Packages.gz exists but
[Mon May 10 18:41:47 2010] [error] [client 75.223.92.226] File does
not exist: /var/packages/dists/karmic/Release.gpg
[Mon May 10 18:41:47 2010] [error] [client 75.223.92.226] File does
not exist: /var/packages/dists/karmic/main/i18n
[Mon May 10 18:41:48 2010] [error] [client 75.223.92.226] File does
not exist: /var/packages/dists/karmic/main/binary-i386/Packages.bz2
[Mon May 10 18:41:48 2010] [error] [client 75.223.92.226] File does
not exist: /var/packages/dists/karmic/main/binary-i386/Packages.lzma
Post by Ignacio Valdes
That improved things, but I am now getting
E: Problem parsing dependency Conflicts
E: Error occurred while processing astronaut-wv-server-beta (NewVersion1)
E: Problem with MergeList
/var/lib/apt/lists/174.143.201.52_dists_karmic_main_binary-i386_Packages
E: The package lists or status file could not be parsed or opened.
Browsing to here though shows that the Packages file can be opened or
read at least through http
http://174.143.201.52/ubuntu/dists/karmic/main/binary-i386/Packages
Post by Ignacio Valdes
http://www.jejik.com/articles/2006/09/setting_up_and_managing_an_apt_repository_with_reprepro/
http://174.143.201.52/ubuntu/
The files are present and I have placed in my local machine in
## Astronaut Ubuntu APT repository
deb http://174.143.201.52/ubuntu karmic main
deb-src http://174.143.201.52/ubuntu karmic main
However the repository seems invisible. I try apt-get install
astronaut-wv-server-beta and it cannot find it as well as a apt-cache
search astronaut doesn't find anything. I may have misconfigured
something but I am not sure what as it seems visible.
Looking at the documentation you gave a link to, that Virtual host entry
seems to place things in the root directory. I.e. you most likely
need
deb http://174.143.201.52/ karmic main
deb-src http://174.143.201.52/ karmic main
Hochachtungsvoll,
       Bernhard R. Link
--
--
--
--
To UNSUBSCRIBE, email to debian-mentors-***@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact ***@lists.debian.org
Archive: http://lists.debian.org/***@mail.gmail.com
Goswin von Brederlow
2010-05-13 11:50:02 UTC
Permalink
Post by Ignacio Valdes
Finally it works!
The problem was that if you have a tag in the control file like
Conflicts: with no value it will not warn you and will tell you (far)
downstream that something is wrong with dependencies but that is all.
So the problem was simply a Conflicts: with no values. Removed it and
it all works now.
Thanks to all for your patience and advice.
-- IV
Post by Ignacio Valdes
E: Problem parsing dependency Conflicts
E: Error occurred while processing astronaut-wv-server-beta (NewVersion1)
E: Problem with MergeList
/var/lib/apt/lists/174.143.201.52_dists_karmic_main_binary-i386_Packages
E: The package lists or status file could not be parsed or opened.
Well, it did tell you about it.

You might want to file a bug on apt-get that it should be able to parse
this properly. An empty Conflicts entry is wrong but it violates the
mantra: Be strict in what you generate and flexible in what you accept.

Also whatever you used that generated the empty entry is buggy.

MfG
Goswin
--
To UNSUBSCRIBE, email to debian-mentors-***@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact ***@lists.debian.org
Archive: http://lists.debian.org/***@frosties.localdomain
Continue reading on narkive:
Loading...