PelicanPlatform / pelican

The Pelican Platform for creating data federations
https://pelicanplatform.org/
Apache License 2.0
9 stars 18 forks source link

Tune up goreleaser and released artifacts #1271

Open haoming29 opened 2 months ago

haoming29 commented 2 months ago

@aowen-uwmad mentioned a couple of items to improve for various packagings, and this issue is to keep track of the action items ref:

mkdir ~/pelican
cd ~/pelican
wget https://github.com/PelicanPlatform/pelican/releases/download/v7.7.3/pelican_Linux_x86_64.tar.gz
tar -xzf pelican_Linux_x86_64.tar.gz

Typically I've seen that the tar step results in a new directory. Before extraction

$ tree
.
└── pelican_Linux_x86_64.tar.gz

After extraction

$ tree
.
├── LICENSE
├── pelican
├── pelican_Linux_x86_64.tar.gz
└── README.md

What I expected to see

$ tree
.
├── pelican-7.7.3
│   ├── LICENSE
│   ├── pelican
│   └── README.md
└── pelican_Linux_x86_64.tar.gz

(If this is the behavior you want, that is fine, just wanted you to know that this may subvert expectations)

wget https://github.com/PelicanPlatform/pelican/releases/download/v7.7.4/pelican_7.7.4-1_amd64.deb
sudo dpkg -i pelican_7.7.4-1_amd64.deb
which pelican 
→ /usr/bin/pelican not /bin/pelican

I would have expected this process to have created a default /etc/pelican/pelican.yaml config file. At the very least, I would have expected it to create a /etc/pelican folder.

matyasselmeci commented 1 month ago
  1. Tarball contents in a subdirectory: Sure, this will be part of my PR. Note that it is a small compatibility break (for which I will have to adjust some of the OSPool pilot scripts) so a) we need to highlight it in the release notes and b) in the unlikely event that we need to make a 7.8.5 before 7.9.0, we need to make sure this change doesn't get backported.

  2. Pelican in /usr/bin instead of /bin: this is normal for RPM systems and there doesn't appear to be a way to change it for Debian without also changing it for RPM, so I'd rather not do this one. Both /bin and /usr/bin should be in PATH for Debian, no?

  3. /etc/pelican/pelican.yaml in the pelican rpm/deb: I don't actually know what should be put into a rootly /etc/pelican/pelican.yaml so I'll just make the directory for now.