Difference between revisions of "User:ReetP"

From SME Server
(Building RPMs)
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
Just me. ReetP aka John Crisp
 
Just me. ReetP aka John Crisp
  
 +
===Repos===
 
After adding repo data to the database update the configuration file:
 
After adding repo data to the database update the configuration file:
 
  signal-event yum-modify
 
  signal-event yum-modify
+
 
 +
2020/10 Note Koozali SME v10 currently needs Priority 10 set
 +
 
 
ReetP repo
 
ReetP repo
 
<noinclude>
 
<noinclude>
 
  db yum_repositories set reetp repository \
 
  db yum_repositories set reetp repository \
  BaseURL http://www.reetspetit.com/smeserver/\$releasever \
+
  BaseURL https://www.reetspetit.com/smeserver/\$releasever \
 +
EnableGroups no \
 +
GPGCheck no \
 +
Name "ReetP Repo" \
 +
GPGKey https://www.reetspetit.com/RPM-GPG-KEY \
 +
Visible yes \
 +
status disabled
 +
</noinclude>
 +
 
 +
ReetP testing repo - here be Dragons. Not for production use.
 +
 
 +
<noinclude>
 +
db yum_repositories set reetpTest repository \
 +
BaseURL https://www.reetspetit.com/smetest/\$releasever \
 
  EnableGroups no \
 
  EnableGroups no \
 
  GPGCheck no \
 
  GPGCheck no \
 
  Name "ReetP Repo" \
 
  Name "ReetP Repo" \
  GPGKey http://www.reetspetit.com/RPM-GPG-KEY \
+
  GPGKey https://www.reetspetit.com/RPM-GPG-KEY \
 
  Visible yes \
 
  Visible yes \
 
  status disabled
 
  status disabled
Line 17: Line 33:
  
 
Libreswan repo
 
Libreswan repo
 +
v9
 
<noinclude>
 
<noinclude>
 
  db yum_repositories set libreswan repository \
 
  db yum_repositories set libreswan repository \
Line 25: Line 42:
 
  Name LibreSwan \
 
  Name LibreSwan \
 
  Visible yes \
 
  Visible yes \
  status=disabled \
+
  status=disabled  
 +
</noinclude>
 +
 
 +
v10
 +
<noinclude>
 +
db yum_repositories set libreswan repository \
 +
BaseURL https://download.libreswan.org/binaries/rhel/7/x86_64/ \
 +
EnableGroups no \
 +
GPGCheck yes \
 +
GPGKey https://download.libreswan.org/binaries/RPM-GPG-KEY-libreswan \
 +
Name LibreSwan \
 +
Visible yes \
 +
Priority 10 \
 +
status=disabled
 +
</noinclude>
 +
 
 +
MC repo
 +
v9
 +
<noinclude>
 +
db yum_repositories set mc repository \
 +
BaseURL http://download.opensuse.org/repositories/home:/laurentwandrebeck:/mc/CentOS_6/ \
 +
Name mc \
 +
Visible yes \
 +
status enabled
 +
</noinclude>
 +
 
 +
v10
 +
<noinclude>
 +
db yum_repositories set mc repository \
 +
BaseURL http://download.opensuse.org/repositories/home:/laurentwandrebeck:/mc/CentOS_7/ \
 +
Name mc \
 +
Visible yes \
 +
Priority 10 \
 +
status enabled
 +
</noinclude>
 +
 
 +
NodeJS repo (latest is 10)
 +
<noinclude>
 +
db yum_repositories set nodejs8 \
 +
repository Name 'Node JS 8' \
 +
BaseURL https://rpm.nodesource.com/pub_8.x/el/6/x86_64 \
 +
EnableGroups no \
 +
GPGCheck no \
 +
Visible yes \
 +
status disabled
 +
</noinclude>
 +
 
 +
===SRPM import===
 +
 
 +
My src RPM import notes
 +
 
 +
Importing a srpm/contrib.
 +
 
 +
Big note. If you are importing a server package then you need the common dir from an existing server package and not a contrib - they are different
 +
 
 +
It helps to have a dir with some common CVS files in.
 +
 
 +
 
 +
 
 +
On your local build server (could be on your koozali shell)
 +
 
 +
mkdir -p ~/smecontribs/rpms/NewPackage/contribs10
 +
cd ~/smecontribs/rpms
 +
 
 +
Only required to add to CVS if it is totally new:
 +
cvs add NewPackage
 +
cd NewPackage
 +
 
 +
Then:
 +
cvs add contribs10
 +
cd contribs10
 +
 
 +
 
 +
We need to get a common directory & Makefile there - note this is for a contrib, not server package
 +
 
 +
cp -R ~/rpms/{another package}/contribs10/common ~/rpms/NewPackage/contribs10
 +
cp -R ~/rpms/{another package}/contribs10/Makefile ~/rpms/NewPackage/contribs10
 +
 
 +
Alternatively I already have a directory with these files in that I can re-use
 +
 
 +
cp -r ~/CVS_files/* ~/smecontribs/rpms/NewPackage/contribs10/
 +
 
 +
 
 +
Update the name in the Makefile:
 +
 
 +
perl -p -i -e 's/{another package}/NewPackage/g' Makefile
 +
 
 +
./common/cvs-import.sh -b contribs10 -m 'Initial import' NewPackage.src.rpm
 +
 
 +
make new-sources FILES="v-x.x.x.tar.gz"
 +
 
 +
cvs commit -m "Add updated sources file NewPackage"
 +
 
 +
Now, at this juncture it refused to mockbuild properly.
 +
 
 +
In the end I removed ALL the files in the NewPackage contribs10 dir and then did:
 +
 
 +
~/smecontribs/rpms/NewPackage/contribs10/
 +
rm -rf *
 +
cvs update -dPA
 +
 
 +
Then I did:
 +
 
 +
make clean;make prep; make mockbuild and it built
 +
 
 +
I then just did
 +
 
 +
make build
 +
 
 +
Note
 +
 
 +
To get the name of the distribution in the filename you need something like this in the spec file.
 +
 
 +
Note the Release version format
 +
 
 +
<noinclude>
 +
%define name phpki
 +
%define version 0.82
 +
%define release 23
 +
Summary: Phpki is a simple certificate management suite
 +
Name: %{name}
 +
Version: %{version}
 +
Release: %{release}%{?dist}
 +
License: GNU GPL version 2
 +
URL: http://sourceforge.net/projects/phpki/
 +
Group: SMEserver/addon
 +
#wget http://www.fooweb.com/downloads/foo-3.6.431.tar.gz
 +
Source: phpki-0.82.tar.gz
 
</noinclude>
 
</noinclude>

Latest revision as of 18:08, 8 October 2020

Just me. ReetP aka John Crisp

Repos

After adding repo data to the database update the configuration file:

signal-event yum-modify

2020/10 Note Koozali SME v10 currently needs Priority 10 set

ReetP repo

db yum_repositories set reetp repository \
BaseURL https://www.reetspetit.com/smeserver/\$releasever \
EnableGroups no \
GPGCheck no \
Name "ReetP Repo" \
GPGKey https://www.reetspetit.com/RPM-GPG-KEY \
Visible yes \
status disabled


ReetP testing repo - here be Dragons. Not for production use.


db yum_repositories set reetpTest repository \
BaseURL https://www.reetspetit.com/smetest/\$releasever \
EnableGroups no \
GPGCheck no \
Name "ReetP Repo" \
GPGKey https://www.reetspetit.com/RPM-GPG-KEY \
Visible yes \
status disabled


Libreswan repo v9

db yum_repositories set libreswan repository \
BaseURL https://download.libreswan.org/binaries/rhel/6/x86_64/ \
EnableGroups no \
GPGCheck yes \
GPGKey https://download.libreswan.org/binaries/RPM-GPG-KEY-libreswan \
Name LibreSwan \
Visible yes \
status=disabled 


v10

db yum_repositories set libreswan repository \
BaseURL https://download.libreswan.org/binaries/rhel/7/x86_64/ \
EnableGroups no \
GPGCheck yes \
GPGKey https://download.libreswan.org/binaries/RPM-GPG-KEY-libreswan \
Name LibreSwan \
Visible yes \
Priority 10 \
status=disabled 


MC repo v9

db yum_repositories set mc repository \
BaseURL http://download.opensuse.org/repositories/home:/laurentwandrebeck:/mc/CentOS_6/ \
Name mc \
Visible yes \
status enabled 


v10

db yum_repositories set mc repository \
BaseURL http://download.opensuse.org/repositories/home:/laurentwandrebeck:/mc/CentOS_7/ \
Name mc \
Visible yes \
Priority 10 \
status enabled 


NodeJS repo (latest is 10)

db yum_repositories set nodejs8 \
repository Name 'Node JS 8' \
BaseURL https://rpm.nodesource.com/pub_8.x/el/6/x86_64 \
EnableGroups no \
GPGCheck no \
Visible yes \
status disabled


SRPM import

My src RPM import notes

Importing a srpm/contrib.

Big note. If you are importing a server package then you need the common dir from an existing server package and not a contrib - they are different

It helps to have a dir with some common CVS files in.


On your local build server (could be on your koozali shell)

mkdir -p ~/smecontribs/rpms/NewPackage/contribs10
cd ~/smecontribs/rpms

Only required to add to CVS if it is totally new:

cvs add NewPackage 
cd NewPackage

Then:

cvs add contribs10
cd contribs10


We need to get a common directory & Makefile there - note this is for a contrib, not server package

cp -R ~/rpms/{another package}/contribs10/common ~/rpms/NewPackage/contribs10
cp -R ~/rpms/{another package}/contribs10/Makefile ~/rpms/NewPackage/contribs10

Alternatively I already have a directory with these files in that I can re-use

cp -r ~/CVS_files/* ~/smecontribs/rpms/NewPackage/contribs10/


Update the name in the Makefile:

perl -p -i -e 's/{another package}/NewPackage/g' Makefile
./common/cvs-import.sh -b contribs10 -m 'Initial import' NewPackage.src.rpm
make new-sources FILES="v-x.x.x.tar.gz"
cvs commit -m "Add updated sources file NewPackage"

Now, at this juncture it refused to mockbuild properly.

In the end I removed ALL the files in the NewPackage contribs10 dir and then did:

~/smecontribs/rpms/NewPackage/contribs10/
rm -rf *
cvs update -dPA

Then I did:

make clean;make prep; make mockbuild and it built

I then just did

make build

Note

To get the name of the distribution in the filename you need something like this in the spec file.

Note the Release version format


%define 	name phpki
%define 	version 0.82
%define 	release 23
Summary: 	Phpki is a simple certificate management suite
Name: 		%{name}
Version: 	%{version}
Release: 	%{release}%{?dist}
License: 	GNU GPL version 2
URL: 		http://sourceforge.net/projects/phpki/
Group: 		SMEserver/addon
#wget 		http://www.fooweb.com/downloads/foo-3.6.431.tar.gz
Source: 	phpki-0.82.tar.gz