Commit graph

33 commits

Author SHA1 Message Date
Pierre-Yves Chibon
9415fff005 Fix the topic of the notifications sent on the bus
In the fedmsg world this was done by the modname passed to the
fedmsg.publish() function but in fedora-messaging there is no
such concept, so we need to pass the exact/correct topic.
This commit fixes that.

Signed-off-by: Pierre-Yves Chibon <pingou@pingoured.fr>
2020-06-17 17:33:21 +02:00
Pierre-Yves Chibon
b3701269f5 Log a little more information when a generic error is caught
Signed-off-by: Pierre-Yves Chibon <pingou@pingoured.fr>
2020-06-17 17:33:21 +02:00
clime
d70acba297 fix error messages for fedora messaging 2020-06-15 11:56:08 +02:00
Pierre-Yves Chibon
a2d334e898 Add support for fedora-messaging notifications
Signed-off-by: Pierre-Yves Chibon <pingou@pingoured.fr>
2020-06-11 14:40:57 +02:00
clime
541924646d comment tweak 2020-05-13 09:07:45 +02:00
Jakub Kadlcik
b1574ccad3 Add executable bit for upload.cgi script
It doesn't make much sense to have a shebang in a script that is
not executable. Also, we set 775 permissions to it in a spec file
anyway.

I am adding it because the tests need to run the script.
2020-05-11 12:08:52 +02:00
Jakub Kadlcik
5c4de58f41 Move form hash parsing to its own function 2020-05-03 14:35:06 +02:00
Jakub Kadlcik
77dccfad21 Move fedmsg code to its own function
Except for a simple refactoring that shortens our over-complicated
`main` function, this also have an added value. Not every distgit
instance is interested in sending `fedmsg` messages. In such cases,
we don't want to force them to install the `python-fedmsg` package.
2020-05-03 01:36:43 +02:00
Jakub Kadlcik
57eac00d19 Move config parsing to its own function
At the same time, allow to use a non-default config file by specifying
its path in `DISTGIT_CONFIG` environment variable.
2020-05-02 15:35:26 +02:00
clime
6ff6fb94bd we first need to read all the input to be able to send an error
* this is done by creating the cgi.FieldStorage
2019-06-14 10:34:08 +02:00
clime
3111958b1e use more generic conversion to float for mtime 2019-06-14 10:34:08 +02:00
clime
48f795801f fix bug with renderring error responses
* they were rendered incorrectly due to printing Content-type with
extra new line already in main body. That means error statuses were
not properly handed to httpd. Also fix related buggy test.
2019-06-14 10:34:08 +02:00
clime
eb9ab02d02 make upload.cgi python2/3 compatible, fix formatting 2019-03-11 12:41:08 +01:00
clime
d2329ea330 add support for setting mtime for an uploaded file 2018-11-15 15:49:13 +01:00
Patrick Uiterwijk
0141af8a39 Use REMOTE_USER as fallback for GSS_NAME
GSS_NAME is only set in a specific configuration (with GssapiLocalNames on).
Make the upload.cgi also work if that configuration is not set.

Signed-off-by: Patrick Uiterwijk <patrick@puiterwijk.org>
2018-09-30 20:34:59 +02:00
clime
26bb3048c4 add lookaside_dir option, deprecate cache_dir 2018-08-14 21:06:50 +02:00
clime
a8a544a6ef add deprecated cache_dir_override option
* yes, you read it correctly.
2018-03-27 12:29:54 +02:00
clime
bce932a662 add disable_group_check configuration option for upload script 2018-03-26 20:57:51 +02:00
clime
ba8fd50109 use config.get('upload', 'option') instead of config['upload'].get('option')
* the former does not give internal server error when 'upload' is missing
2018-02-26 14:10:27 +01:00
clime
e0b629ab8c move fedmsgs, nomd5, old_paths config options to [upload] ini section 2018-02-26 09:24:23 +01:00
clime
04073f1108 fix position of default namespace application 2018-02-06 19:30:38 +01:00
clime
3a0c21cb90 added default_namespace config option 2018-02-05 22:12:53 +01:00
clime
8f08d577b0 add 'fedmsgs' and 'old_paths' configuration variables 2018-02-03 18:36:48 +01:00
clime
ba87b8ba32 disable md5 by default 2017-07-24 13:12:58 +02:00
Patrick Uiterwijk
ee14f31cbc
Disallow uploading of new md5 checksummed files
Signed-off-by: Patrick Uiterwijk <puiterwijk@redhat.com>
2017-07-23 00:09:02 +02:00
clime
02a2bb2d30 store repos directly under git/ 2017-04-08 16:12:27 +02:00
Pavel Raiskup
cd6821d0ae config: use ini file
Follow up after discussion in PR #11.
2017-02-23 17:12:00 +01:00
clime
ff09d2de55 return back /var/lib/dist-git path for saving data 2017-02-21 16:04:11 +01:00
clime
8f03e69d81 add kerberos support for lookaside-cache uploading 2017-02-02 15:16:42 +01:00
clime
4fefd7f1d5 reconfiguring package to fit into FedoraInfra 2016-10-31 04:30:33 +01:00
Adam Samalik
8a5cf561b4 Upload files to new and old paths + remove email
=============
distgit: Upload files to both the new and old path

Currently, the CGI script is set to upload files:
- to the old path if the upload uses md5
- to the new path if the upload uses sha512

The old path is as follows:
    /%(srpmname)s/%(filename)s/%(hash)s/%(filename)s

The new path is:
    /%(srpmname)s/%(filename)s/%(hashtype)s/%(hash)s/%(filename)s

This was meant to ensure compatibility with current fedpkg which
always downloads from the old path, but will eventually download from
the new path when we move to sha512.

However, working more on this, I now think it would make for a smoother
transition if we instead always stored the files at the new path, but
just hardlinked to the old path if the upload is using md5.

This is what this patch achieves.

With this deployed in production, fedpkg could be patched to try
downloading from the new path, and fallback to the old one if necessary,
which decouples the migration to the new path from the migration to the
new hash.

=============
distgit: Ensure the folder exists

We can't hard link the file if the folder containing the link
destination does not exist.

Hurray for testing in staging!

=============
distgit: os.link fails if the dest already exists

=============
distgit: And so does os.makedirs

=============
distgit: Actually hardlink over the existing source at the old path
Without this, the file could exist at both the old and new path, taking
the space on the disk twice.

This forces a hardlink if the file already existed at the old path.

=============
Remove the lookaside email hook (rely on fedmsg now).
2015-06-03 13:42:57 +02:00
Adam Samalik
c6563e59c2 unused files removed 2015-04-10 11:20:13 +02:00
Adam Samalik
eea04fcca4 reorganizing files 2015-03-30 14:56:32 +02:00