Solved Poudriere remote repo

Hi,

I'm using poudriere on one host to create my packages, which is working fine local. Now I want a second host to use my repository (because the standard package of powerdns is lacking ldap-support, so I have to use my own version). So far, so good, html-page shows fine, but I can't use the repository. pkg upgrade throws
Code:
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
Updating FreeBSD-kmods repository catalogue...
Fetching data: 100%    45 KiB  45.8 kB/s    00:01 
Processing entries: 100%
FreeBSD-kmods repository update completed. 292 packages processed.
Updating Poudriere repository catalogue...
pkg: [URL]https://freebsd.bruecko.de/amd64-14-5-devel/meta.txz[/URL]: Not Found
pkg: [URL]https://freebsd.bruecko.de/amd64-14-5-devel/data.pkg[/URL]: Not Found
pkg: [URL]https://freebsd.bruecko.de/amd64-14-5-devel/data.tzst[/URL]: Not Found
pkg: [URL]https://freebsd.bruecko.de/amd64-14-5-devel/packagesite.pkg[/URL]: Not Found
pkg: [URL]https://freebsd.bruecko.de/amd64-14-5-devel/packagesite.tzst[/URL]: Not Found
Unable to update repository Poudriere
Error updating repositories!
This looks perfectly reasonable, because those files don't exist for the actual repository, only for older versions up to 13.5. (is this related from moving from portsnap to git, to get my ports tree?)

How do I generate those files for the actual repository?

Thanks in advance.

Regards Hanns
 
How do I generate those files for the actual repository?
Poudriere generates them automatically at the end of a build run.

For example:
Code:
[01:29:12] Creating pkg repository
Creating repository in /tmp/packages: 100%
Packing files for repository: 100%
[01:29:19] Committing packages to repository: /usr/local/poudriere/data/packages/15-stable-desktop/.real_1791118086 via .latest symlink

How are you sharing the package repositories? With nginx(8)? Just need this:
Code:
        location /packages {
          alias /usr/local/poudriere/data/packages;
          fancyindex on;
        }
Note that I have enabled fancyindex but that's not required.
 
Hi, SirDice,

thanks for Your reply. I've read, that these files should be created automatically. But AFAIS they're not.

I invoke poudriere bulk:
Code:
poudriere bulk -b latest -j amd64-14-5 -p devel -f /usr/local/etc/poudriere.d/pkglist
The build ends with
Code:
[00:03:50] Stopping 1 builders
[00:03:52] Creating pkg repository
Creating repository in /tmp/packages: 100%
Packing files for repository: 100%
[00:04:30] Committing packages to repository: /usr/local/poudriere/data/packages/amd64-14-5-devel/.real_1792399116 via .latest symlink
[00:04:30] Removing old packages
[00:04:30] Built ports: databases/openldap26-server
[00:04:30] Ignored ports: databases/p5-DBD-mysql
[00:04:30] Fetched ports: sysutils/xxd textproc/xml2rfc@py312 x11/xcb-proto devel/py-platformdirs@py312 devel/py-wcwidth@py312 print/tex-dvipsk print/tex-basic-engines devel/py-lxml@py312 devel/py-dunamai@py312 devel/py-intervaltree@py312 devel/tex-web2c devel/py-country@py312 devel/py-sortedcontainers@py312 devel/py-google-i18n-address@py312
[amd64-14-5-devel] [2026-10-19_10h34m06s] [committing] Queued: 16 Built: 1  Failed: 0  Skipped: 0  Ignored: 1  Fetched: 14 Tobuild: 0   Time: 00:04:25
[00:04:30] Logs: /usr/local/poudriere/data/logs/bulk/amd64-14-5-devel/2026-10-19_10h34m06s
[00:04:30] Cleaning up

but I don't find the mentioned files in /usr/local/poudriere/data/packages/amd64-14-5-devel/.real_1792399116

My Apache-configuration:
Code:
<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerAdmin hanns@hannsmattes.de
    ServerName pkg.silbermail.de
    DocumentRoot /usr/local/share/poudriere/html
        <Directory /usr/local/share/poudriere/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
Alias /data "/usr/local/poudriere/data/logs/bulk"
  <Directory "/usr/local/poudriere/data/logs/bulk">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
  </Directory>
  Alias /packages "/usr/local/poudriere/data/packages"
  <Directory "/usr/local/poudriere/data/packages">
    Options Indexes FollowSymLinks
    IndexOptions FancyIndexing FoldersFirst SuppressDescription \
                 SuppressColumnSorting NameWidth=50 VersionSort
    AllowOverride None
    Require all granted
  </Directory>


SSLCertificateFile /usr/local/etc/letsencrypt/live/silbermail.de/fullchain.pem
SSLCertificateKeyFile /usr/local/etc/letsencrypt/live/silbermail.de/privkey.pem
</VirtualHost>
</IfModule>

Any hints?

Regards Hanns
 
URLs are different. Your nginx is configured for pkg.silbermail.de, while your pkg(8) is pointing to freebsd.bruecko.de. Different website.
 
Hi, SirDIce,
thanks.

/usr/local/etc/pkg/repos/FreeBSD.conf on the machine I want to install the packages is:

Code:
Poudriere: {
       priority        : 1,
       enabled: yes,
         url: "https://pkg.silbermail.de/amd64-14-5-devel"
 }

FreeBSD: {
  enabled: no
}

On the build host:

Code:
Poudriere: {
       priority        : 1,
       enabled: yes,
         url: "file:///usr/local/poudriere/data/packages/amd64-14-5-devel"
 }

FreeBSD: {
  enabled: no
}

Does this look correct? The error persists.

Or am I on the wrong track?

Thanks

Hanns
 
Does this look correct? The error persists.
What does pkg repos show? Because this looks fine, but it's not the URL your pkg(8) is connecting to:
Code:
Updating Poudriere repository catalogue...
pkg: https://freebsd.bruecko.de/amd64-14-5-devel/meta.txz: Not Found
pkg: https://freebsd.bruecko.de/amd64-14-5-devel/data.pkg: Not Found
pkg: https://freebsd.bruecko.de/amd64-14-5-devel/data.tzst: Not Found
pkg: https://freebsd.bruecko.de/amd64-14-5-devel/packagesite.pkg: Not Found
pkg: https://freebsd.bruecko.de/amd64-14-5-devel/packagesite.tzst: Not Found

You typically only disable (or set to latest) the FreeBSD repositories in /usr/local/etc/pkg/repos/FreeBSD.conf and put your custom package repositories in a different file; /usr/local/etc/pkg/repos/poudriere.conf for example. I suspect you have a different file that overrules that Poudriere package repository set in FreeBSD.conf.

And the URL should be https://pkg.silbermail.de/packages/amd64-14-5-devel (you have a /packages alias defined).
 
Back
Top