davidep
(Davide Principi)
July 12, 2016, 10:32am
1
Continuing the discussion from NS7 as new default target for nethserver-mock :
The current layout of YUM repositories for each NethServer version is
base
updates
testing
nethforge
nethforge-testing
Since packages.nethserver.org was born everyone can upload RPMs to testing and nethforge-testing repositories, provided I receive the developer’s public ssh/rsa key.
Upload access to other repositories is restricted to a few people from the @dev_team . Actually, only me and @giacomo use to upload RPMs on those repositories.
The newly released nethserver-mock package contains the helper script, upload-rpms
that sends RPM files to packages.nethserver.org , using sftp
and ssh/rsa keys.
3 Likes
stephdl
(Stéphane de Labrusse)
July 12, 2016, 10:20am
2
what are the folders I can upload and please explain what are the differences between them
stephdl
(Stéphane de Labrusse)
July 12, 2016, 10:23am
3
how push rpm from nethforge-testing to nethforge ?
stephdl
(Stéphane de Labrusse)
July 12, 2016, 10:39am
4
therefore once my rpm are tested in nethforge-testing, I do send the same rpms to nethforge, or I have the possibility to do a cp to another folder ?
stephdl
(Stéphane de Labrusse)
July 12, 2016, 10:39am
5
Moreover, nobody stated on srpm ?
davidep
(Davide Principi)
July 12, 2016, 10:51am
6
This was the original question
You should already have the rights to upload directly to nethforge
. So the first step is
upload-rpms stephdl@packages.nethserver.org:nscom/<version>/nethforge-testing
You should upload the rpms to nethforge. I guess after the testing stage the developer should tag and re-build the RPM, as stated here
http://docs.nethserver.org/projects/nethserver-devel/en/latest/development_process.html#packager
BTW, I’m adapting that page for NS7+GitHub
Then the upload command for the second step should be
upload-rpms stephdl@packages.nethserver.org:nscom/<version>/nethforge
The make-rpms
command produces also .src.rpm
files.
You should upload also SRPMs, but there is no strict requirement on this. The server side dispatch each RPM type/arch in the right slot (hopefully…).
What is required and checked automatically are the RPM dependencies. If they’re not satisfied the RPM is not added to the repository.
2 Likes
giacomo
(Giacomo Sanchietti)
July 12, 2016, 12:25pm
7
I just removed urbbackup packages from nethserver-testing, packages are correctly available from nethforge-testing (thanks Stephane).
stephdl
(Stéphane de Labrusse)
July 12, 2016, 4:35pm
8
No nethforge-testing on my repository http://nethserver.de-labrusse.fr/
Not sure it is normal ?
stephdl
(Stéphane de Labrusse)
July 12, 2016, 6:15pm
9
so If I understand well
a) I build test rpm that I push to nethforge-testing
b) once they are ready/verified, I push them to nethforge a second time…like a new rpm
my concern is that it can introduce issues…once verified, a rpm just need to move by a cp, not by another rpm pushed to a new folder.
2 Likes
davidep
(Davide Principi)
July 12, 2016, 8:40pm
10
stephdl:
Not sure it is normal ?
Yes, testing repos are not served by mirrors (these could be not synchronized) to ease the quality team job.
I understand your concerns. Anyway we build RPMs on pristine code from a git repository. Our builds are reproducible, no way for dirty checkouts!
The release-tag command alters only the .spec file, namely %changelog and %version tags.
This semi-automated process is running with its enhancements since 2012 and I never found any problem with it!
1 Like
stephdl
(Stéphane de Labrusse)
July 12, 2016, 8:42pm
11
Sure but I don’t use it, did I never say it
Trust @davidep man, it knows a bit about NethServer
be no longer in doubt but have belief
stephdl
(Stéphane de Labrusse)
July 12, 2016, 8:54pm
13
It is not concerning Nethserver, but the way how to build the rpm
For what I recall, (I tried a LONG time ago) the rpm/srpm are built in the git folder and I don’t like it.
The first ‘git add .’ and you add the rpms to the git history
davidep
(Davide Principi)
July 12, 2016, 9:16pm
14
It’s possible to ignore whatever artifact the build produces with a global gitignore file
https://help.github.com/articles/ignoring-files/#create-a-global-gitignore
stephdl
(Stéphane de Labrusse)
July 12, 2016, 9:26pm
15
Thank for sharing the tip