[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: creating a simple private repository with reprepro



that means I have to change the changelog before each run of pbuilder?

On Sun, Mar 1, 2015 at 3:28 PM, Alex Mestiashvili <alex@biotec.tu-dresden.de> wrote:
On 03/01/2015 10:03 AM, Asaf Dalet wrote:
> Hi,
> I must first apologize for the somewhat lengthy post, but you'll see most
> of it is just directory structures which you can probably skip.
>
> Here goes:
> I have a private debian package which I want publish in binary format.
> I want to supply 2 binary versions:
> 1. precise/amd64
> 2. trusty/amd64
>
> My packages are created with debuild and pbuilder and seem to be setup
> correctly (I tested).
>
> The problem happens when I'm trying to create my repository - more
> precisely, when I'm trying to add the second package to the repository.
>
> This is my raw directory structure (the output of debuild and pbuilder):
>
> ubuntu@ubuntu-build:~/dev/git/foo/_tmp$ ll -R
> .:
> total 16
> drwxrwxr-x 4 ubuntu ubuntu 4096 Mar  1 08:18 ./
> drwxrwxr-x 9 ubuntu ubuntu 4096 Feb 26 11:41 ../
> drwxrwxr-x 4 ubuntu ubuntu 4096 Feb 26 10:02 precise/
> drwxr-xr-x 4 root   root   4096 Feb 26 10:12 trusty/
>
> ./precise:
> total 16
> drwxrwxr-x 4 ubuntu ubuntu 4096 Feb 26 10:02 ./
> drwxrwxr-x 4 ubuntu ubuntu 4096 Mar  1 08:18 ../
> drwxrwxr-x 2 ubuntu ubuntu 4096 Feb 26 09:04 amd64/
>
> ./precise/amd64:
> total 412
> drwxrwxr-x 2 ubuntu ubuntu   4096 Feb 26 09:04 ./
> drwxrwxr-x 4 ubuntu ubuntu   4096 Feb 26 10:02 ../
> -rw-r--r-- 1 ubuntu ubuntu  19173 Feb 26 09:04 foo_1.0.1_amd64.build
> -rw-r--r-- 1 ubuntu ubuntu   1415 Feb 26 09:04 foo_1.0.1_amd64.changes
> -rw-r--r-- 1 ubuntu ubuntu  20174 Feb 26 09:04 foo_1.0.1_amd64.deb
> -rw-r--r-- 1 ubuntu ubuntu    677 Feb 26 09:03 foo_1.0.1.debian.tar.gz
> -rw-r--r-- 1 ubuntu ubuntu    794 Feb 26 09:03 foo_1.0.1.dsc
> -rw-rw-r-- 1 ubuntu ubuntu 359985 Feb 26 09:03 foo_1.0.1.orig.tar.gz
>
> ./trusty:
> total 16
> drwxr-xr-x 4 root   root   4096 Feb 26 10:12 ./
> drwxrwxr-x 4 ubuntu ubuntu 4096 Mar  1 08:18 ../
> drwxr-xr-x 2 root   root   4096 Feb 26 10:08 amd64/
>
> ./trusty/amd64:
> total 392
> drwxr-xr-x 2 root   root     4096 Feb 26 10:08 ./
> drwxr-xr-x 4 root   root     4096 Feb 26 10:12 ../
> -rw-rw-r-- 1 ubuntu ubuntu   1415 Feb 26 10:08 foo_1.0.1_amd64.changes
> -rw-r--r-- 1 ubuntu ubuntu  20160 Feb 26 10:08 foo_1.0.1_amd64.deb
> -rw-r--r-- 1 ubuntu ubuntu    677 Feb 26 10:08 foo_1.0.1.debian.tar.gz
> -rw-r--r-- 1 ubuntu ubuntu    794 Feb 26 10:08 foo_1.0.1.dsc
> -rw-rw-r-- 1 ubuntu ubuntu 359985 Feb 26 09:03 foo_1.0.1.orig.tar.gz
>
>
> Now, when I run:
> reprepro includedeb precise
> ~/dev/git/foo/_tmp/precise/amd64/foo_1.0.1_amd64.deb
>
> I get this nice repository structure:
> drwxrwxr-x 6 ubuntu ubuntu 4096 Feb 26 12:13 ./
> drwxrwxr-x 9 ubuntu ubuntu 4096 Feb 26 11:41 ../
> drwxrwxr-x 2 ubuntu ubuntu 4096 Feb 26 12:11 conf/
> drwxrwxr-x 2 ubuntu ubuntu 4096 Mar  1 08:08 db/
> drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 26 12:13 dists/
> drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 26 12:13 pool/
>
> ./conf:
> total 16
> drwxrwxr-x 2 ubuntu ubuntu 4096 Feb 26 12:11 ./
> drwxrwxr-x 6 ubuntu ubuntu 4096 Feb 26 12:13 ../
> -rw-rw-r-- 1 ubuntu ubuntu  286 Feb 26 12:11 distributions
> -rw-rw-r-- 1 ubuntu ubuntu   41 Feb 26 11:41 options
>
> ./db:
> total 120
> drwxrwxr-x 2 ubuntu ubuntu  4096 Mar  1 08:08 ./
> drwxrwxr-x 6 ubuntu ubuntu  4096 Feb 26 12:13 ../
> -rw-rw-r-- 1 ubuntu ubuntu 16384 Feb 26 12:13 checksums.db
> -rw-rw-r-- 1 ubuntu ubuntu 16384 Feb 26 12:13 contents.cache.db
> -rw-rw-r-- 1 ubuntu ubuntu 40960 Feb 26 12:13 packages.db
> -rw-rw-r-- 1 ubuntu ubuntu 16384 Feb 26 12:13 references.db
> -rw-rw-r-- 1 ubuntu ubuntu 20480 Feb 26 12:13 release.caches.db
> -rw-rw-r-- 1 ubuntu ubuntu    32 Mar  1 08:08 version
>
> ./dists:
> total 12
> drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 26 12:13 ./
> drwxrwxr-x 6 ubuntu ubuntu 4096 Feb 26 12:13 ../
> drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 26 12:13 precise/
>
> ./dists/precise:
> total 16
> drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 26 12:13 ./
> drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 26 12:13 ../
> drwxrwxr-x 4 ubuntu ubuntu 4096 Feb 26 12:13 main/
> -rw-rw-r-- 1 ubuntu ubuntu 1605 Feb 26 12:13 Release
>
> ./dists/precise/main:
> total 16
> drwxrwxr-x 4 ubuntu ubuntu 4096 Feb 26 12:13 ./
> drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 26 12:13 ../
> drwxrwxr-x 2 ubuntu ubuntu 4096 Feb 26 12:13 binary-amd64/
>
> ./dists/precise/main/binary-amd64:
> total 16
> drwxrwxr-x 2 ubuntu ubuntu 4096 Feb 26 12:13 ./
> drwxrwxr-x 4 ubuntu ubuntu 4096 Feb 26 12:13 ../
> -rw-rw-r-- 1 ubuntu ubuntu    0 Feb 26 12:13 Packages
> -rw-rw-r-- 1 ubuntu ubuntu   20 Feb 26 12:13 Packages.gz
> -rw-rw-r-- 1 ubuntu ubuntu  120 Feb 26 12:13 Release
>
> ./pool:
> total 12
> drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 26 12:13 ./
> drwxrwxr-x 6 ubuntu ubuntu 4096 Feb 26 12:13 ../
> drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 26 12:13 main/
>
> ./pool/main:
> total 12
> drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 26 12:13 ./
> drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 26 12:13 ../
> drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 26 12:13 p/
>
> ./pool/main/p:
> total 12
> drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 26 12:13 ./
> drwxrwxr-x 3 ubuntu ubuntu 4096 Feb 26 12:13 ../
> drwxrwxr-x 2 ubuntu ubuntu 4096 Feb 26 12:13 foo/
>
> ./pool/main/p/foo:
> total 44
> drwxrwxr-x 2 ubuntu ubuntu  4096 Feb 26 12:13 ./
> drwxrwxr-x 3 ubuntu ubuntu  4096 Feb 26 12:13 ../
> -rw-rw-r-- 1 ubuntu ubuntu 34618 Feb 26 12:13 foo_1.0.1_amd64.deb
>
>
> But when I run:
> reprepro includedeb trusty
> ~/dev/git/foo/_tmp/trusty/amd64/foo_1.0.1_amd64.deb
>
> I get this error:
> ~/dev/git/foo/_tmp/trusty/amd64/foo_1.0.1_amd64.deb: component guessed as
> 'main'
> *ERROR: '~/dev/git/foo/_tmp/trusty/amd64/foo_1.0.1_amd64.deb' cannot be
> included as 'pool/main/p/foo/foo_1.0.1_amd64.deb'.*
> Already existing files can only be included again, if they are the same,
> but:
> md5 expected: f2d147640c6784c869fb10e1cdb5b579, got:
> fa4f535e0bf8a68464b6f276bf3c7c5e
> sha1 expected: cec0a5544de71820e05d469f8de21eaed7e1c2ca, got:
> 335b27c4873f3766973a27ed103cd0a99dfb98ff
> sha256 expected:
> 51f2e9a722c5fc265592d51c1c7c4f6ad9acf1454cbfa90c12873c53c0e8bba4, got:
> 42842f86dd2e256c781af00c26c5cd73de6636be9200a8359d3fd33f2e47ef6d
> size expected: 34618, got: 20194
> There have been errors!
>
>
> I read somewhere that reprepro does not support having 2 files with the
> same name in a repo. is it true? even when the files are in different
> directories (for different distors)? No way to create pool subdirectories
> under pool?
>
> I briefly inspected mini-dinstaller and mini-dak, but they seem a little
> overqualified for my simple scenario.
> I like reprepro for its simplicity and the fact that it does the signing
> for me, but I really don't want to change package names for it to work.
>
> So, my questiona are eventually:
> 1. is there a way for me to use reprepro without changing my .deb file
> names?
> 2. if not, what's the simplest alternative?
>
>
> Thanks,
> Asaf
>

IMHO, you can go with changing the debian_revision [0],( or ubuntu
revsion  ) in debian/changelog.
This way you can have 2 different packages of the same software in the
pool directory.

[0]
https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Version

Regards,
Alex


--
To UNSUBSCRIBE, email to debian-user-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: [🔎] 54F31406.4060109@biotec.tu-dresden.de" target="_blank">https://lists.debian.org/[🔎] 54F31406.4060109@biotec.tu-dresden.de



Reply to: