Enabling this .repo
file can introduce conflicts with the versions
shipped directly in Fedora. See Troubleshooting
for more information.
Out GitHub actions are set to build and upload RPMs to repository.astro.unige.ch. See GitHub repositories / Actions for an explanation of each action.
We also use the third-party get-fedora-releases-action
to retrieve the list of stable Fedoras and build for them. However, Centos7 is
manually specified for each project, on its workflow file main.yaml
.
Note that repository.astro.unige.ch
points to the public facing web server, which is not accesible by ssh.
repo01.astro.unige
must be used instead. However, this one is only
accessible from within the university network, so you will need to login first
into, or proxy the connection via, login01.astro.unige.ch
. You can do this
by modifying ${HOME}/.ssh/config
and adding the following:
1
2
3
Host repo01.astro.unige.ch # You can also use wildcards !login*.astro.unige.ch *.astro.unige.ch
ForwardAgent yes
ProxyJump login02.astro.unige.ch
The contents of the repository are under /srv/repository/www/html/euclid
:
centos devel fedora sources
centos
and fedora
contain the RPMs for the released versions.
devel
contain non-tagged versions:
develop pull stable
develop
corresponds to the develop
branch, stable
to master
, and
pull
RPMs build for pull requests (i.e. pull/Alexandria/118
).
The structure under each one of those is identical to the root: centos
,
fedora
. The substructure looks like:
centos/7 ├── SRPMS │ ├── Alexandria-2.27-dev.el7.src.rpm │ ├── PhosphorosCore-1.4-dev.el7.src.rpm │ ├── repodata │ ├── repoview │ └── SourceXtractorPlusPlus-0.19-dev.el7.src.rpm └── x86_64 ├── Alexandria-2.27-dev.el7.x86_64.rpm ├── Alexandria-debuginfo-2.27-dev.el7.x86_64.rpm ├── Alexandria-devel-2.27-dev.el7.x86_64.rpm ├── Alexandria-doc-2.27-dev.el7.x86_64.rpm ├── debug │ ├── Alexandria-debuginfo-2.27-dev.el7.x86_64.rpm │ ├── PhosphorosCore-debuginfo-1.4-dev.el7.x86_64.rpm │ ├── repodata │ ├── repoview ├── PhosphorosCore-1.4-dev.el7.x86_64.rpm ├── PhosphorosCore-debuginfo-1.4-dev.el7.x86_64.rpm ├── PhosphorosCore-devel-1.4-dev.el7.x86_64.rpm ├── PhosphorosCore-doc-1.4-dev.el7.x86_64.rpm ├── repodata ├── repoview ├── SourceXtractorPlusPlus-0.19-dev.el7.x86_64.rpm ├── SourceXtractorPlusPlus-debuginfo-0.19-dev.el7.x86_64.rpm ├── SourceXtractorPlusPlus-devel-0.19-dev.el7.x86_64.rpm └── SourceXtractorPlusPlus-doc-0.19-dev.el7.x86_64.rpm fedora/35 ├── SRPMS │ ├── Alexandria-2.27-dev.fc35.src.rpm │ ├── Phosphoros-1.4-dev.fc35.src.rpm │ ├── PhosphorosCore-1.4-dev.fc35.src.rpm │ ├── repodata │ ├── repoview │ └── SourceXtractorPlusPlus-0.19-dev.fc35.src.rpm └── x86_64 ├── Alexandria-2.27-dev.fc35.x86_64.rpm ├── Alexandria-debuginfo-2.27-dev.fc35.x86_64.rpm ├── Alexandria-debugsource-2.27-dev.fc35.x86_64.rpm ├── Alexandria-devel-2.27-dev.fc35.x86_64.rpm ├── Alexandria-doc-2.27-dev.fc35.x86_64.rpm ├── debug │ ├── Alexandria-debuginfo-2.27-dev.fc35.x86_64.rpm │ ├── Alexandria-debugsource-2.27-dev.fc35.x86_64.rpm │ ├── PhosphorosCore-debuginfo-1.4-dev.fc35.x86_64.rpm │ ├── PhosphorosCore-debugsource-1.4-dev.fc35.x86_64.rpm │ ├── Phosphoros-debuginfo-1.4-dev.fc35.x86_64.rpm │ ├── Phosphoros-debugsource-1.4-dev.fc35.x86_64.rpm │ ├── repodata │ ├── repoview │ ├── SourceXtractorPlusPlus-debuginfo-0.19-dev.fc35.x86_64.rpm │ └── SourceXtractorPlusPlus-debugsource-0.19-dev.fc35.x86_64.rpm ├── Phosphoros-1.4-dev.fc35.x86_64.rpm ├── PhosphorosCore-1.4-dev.fc35.x86_64.rpm ├── PhosphorosCore-debuginfo-1.4-dev.fc35.x86_64.rpm ├── PhosphorosCore-debugsource-1.4-dev.fc35.x86_64.rpm ├── PhosphorosCore-devel-1.4-dev.fc35.x86_64.rpm ├── PhosphorosCore-doc-1.4-dev.fc35.x86_64.rpm ├── Phosphoros-debuginfo-1.4-dev.fc35.x86_64.rpm ├── Phosphoros-debugsource-1.4-dev.fc35.x86_64.rpm ├── Phosphoros-devel-1.4-dev.fc35.x86_64.rpm ├── Phosphoros-doc-1.4-dev.fc35.x86_64.rpm ├── repodata ├── repoview ├── SourceXtractorPlusPlus-0.19-dev.fc35.x86_64.rpm ├── SourceXtractorPlusPlus-debuginfo-0.19-dev.fc35.x86_64.rpm ├── SourceXtractorPlusPlus-debugsource-0.19-dev.fc35.x86_64.rpm ├── SourceXtractorPlusPlus-devel-0.19-dev.fc35.x86_64.rpm └── SourceXtractorPlusPlus-doc-0.19-dev.fc35.x86_64.rpm
repodata
is updated by createrepo
,
and repoview
by repoview
.
They are automatically run by the CI, but they can also be manually run:
1
2
createrepo -v --update .
repoview .
This repository can be used from Fedora or Centos7 adding a .repo
file
to your system:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Stable and tagged versions
[Astrorama]
name=Astrorama
baseurl=http://repository.astro.unige.ch/euclid/fedora/$releasever/$basearch
enabled=1
gpgcheck=0
# Enable this to get the development version
[Astrorama-Develop]
name=Astrorama Develop
baseurl=http://repository.astro.unige.ch/euclid/devel/develop/fedora/$releasever/$basearch
enabled=0
gpgcheck=0
Troubleshooting
Conflicts with Fedora
When the astrorama.repo
file is enabled, there can be conflicts since the
packages in Fedora and those from repository.astro.unige.ch
do not have the same name:
repository.astro.unige.ch | Fedora |
---|---|
Elements | elements |
Alexandria | elements-alexandria |
SourceXtractorPlusPlus | sourcextractor++ |
PhosphorosCore | n/a |
Phosphoros | n/a |
This is because Fedora guidelines specify that the package name must be lowercase, while Euclid capitalizes the project names.
Therefore, as far as dnf
is concerned, those are different RPMs that provide
the same set of files. It may try to install them together (different names),
but fail. It will then complain that it can not satisfy the dependencies of,
say, PhosphorosCore
.
If you want to install from repository.astro.unige.ch,
it is advisable to either exclude
the packages from the Fedora repo:
1
2
# Add this to /etc/yum.repos.d/fedora.repo under [fedora] and /etc/yum.repos.d/fedora-updates.repo under [updates]
exclude=elements* sourcextractor++
Or modify the priority
of astrorama.repo
and install only from there (i.e., remove any installed
packages listed under the “Fedora” column):
1
2
3
4
5
6
7
[Astrorama]
name=Astrorama
baseurl=http://repository.astro.unige.ch/euclid/fedora/$releasever/$basearch
enabled=1
gpgcheck=0
# Lowest value is picked first. Default is 99.
priority=10