Bug 182254

Summary: Review Request: SS5
Product: [Fedora] Fedora Reporter: Matteo Ricchetti <matteo.ricchetti>
Component: Package ReviewAssignee: John Mahowald <jpmahowald>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: imlinux
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-10-14 16:25:16 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 163779    

Description Matteo Ricchetti 2006-02-21 14:42:32 UTC
Spec Name or Url: http://prdownloads.sourceforge.net/ss5/ss5-3.4-mr1.spec?download
SRPM Name or Url: http://prdownloads.sourceforge.net/ss5/ss5-3.4-mr1.src.rpm?download
Description: SS5 is a socks server that implements the SOCKS v4 and v5 protocol. As a proxy server, SS5 authenticates, profiles and processes network requests for clients. It establishes connections to application hosts for client applications. When the client attempts to access the network, the client connects to the SS5 daemon instead of the application host.

Comment 1 Dennis Gilmore 2006-02-21 14:56:46 UTC
*** Bug 182255 has been marked as a duplicate of this bug. ***

Comment 2 Dennis Gilmore 2006-02-21 14:57:24 UTC
*** Bug 182256 has been marked as a duplicate of this bug. ***

Comment 3 Matteo Ricchetti 2006-02-23 11:15:54 UTC
Sorry, I had some trouble during the request process, probably with my 
internet connection.

Tell me if you see any other problems.

Thx



Comment 4 John Mahowald 2006-02-25 23:23:03 UTC
See the packaging guidelines for most of these:
http://fedoraproject.org/wiki/Packaging/Guidelines

A few things need to be worked on:
* rpm chokes on your Copyright tag. This should be changed to License, and
changed to the accepted acronym, GPL.
* I don't understand the mr1 part of the Release tag. Read the naming guidlines
to see examples when this can be used.
http://fedoraproject.org/wiki/Packaging/NamingGuidelines
* Define the recommended Buildroot
* Your %files directive lists a binary in /opt. Move it out of there, it's not
even on the path.
* Many directives are after the %changelog. This may work, but it's against
convvention, nearly every other package does %changelog last.

Comment 5 Matteo Ricchetti 2006-02-27 09:54:40 UTC
I'm going to fix all your requests, but about /opt I followed RH guidelines 
even if it is not in path, such as /etc/opt/"name prog"?



Comment 6 Matteo Ricchetti 2006-02-27 13:49:26 UTC
New package available:

Spec Name or Url: http://prdownloads.sourceforge.net/ss5/ss5.spec.3.4.3?
download

SRPM Name or Url: http://prdownloads.sourceforge.net/ss5/ss5-3.4.3-1.src.rpm?
download

Tell me if it's ok.

Thx

Comment 7 Matteo Ricchetti 2006-02-27 14:22:57 UTC
New package available (fix startup file):

Spec Name or Url: http://prdownloads.sourceforge.net/ss5/ss5.spec.3.4.3-2?
download

SRPM Name or Url: http://prdownloads.sourceforge.net/ss5/ss5-3.4.3-2.src.rpm?
download

Tell me if it's ok.

Thx


Comment 8 John Mahowald 2006-03-14 23:21:36 UTC
* Copyright tag still needs work. Use simply GPL.
* The group does not exist in rpm's GROUPS file, use something like
Applications/Internet

* BuildRoot should be %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
This enables multiple users to build on the same machine
  (wiki: PackagingGuidelines#BuildRoot)
* Missing SMP flags. If it doesn't build with it, please add a comment
  (wiki: PackagingGuidelines#parallelmake)
* No downloadable source. Please give the full URL in the Source tag.
* Missing URL tag to point at the project's home page
* Do not tag man pages with %doc, rpm knows what to do with them
* Need to include directory /usr/lib/ss5/ in the %files listing


Comment 9 Brian Pepple 2006-03-14 23:34:14 UTC
Also, don't add the version or release to the spec file name

Comment 10 Matteo Ricchetti 2006-03-18 17:33:11 UTC
Ok, I am going to publish new release with your advices, but about "...Also, 
don't add the version or release to the spec file name...", when I upload my 
package on SF, I can't use the same file name (i.e. ss5.conf only once). So I 
name ss5.conf with version & release.

So how can I do?


Comment 11 Matteo Ricchetti 2006-03-20 11:21:09 UTC
Done. 

Anything else?

Comment 12 John Mahowald 2006-03-30 00:41:51 UTC
Using ss5-3.5.4-1.src.rpm

* Drop the entire Requires line, rpm can figure out this from the BuildRequires.

* some paths are not replaced with RPM macros
  (wiki: QAChecklist item 7)
Use macros with all of the file paths in your %files listing. For example,
%{_mandir} instead of /usr/share/man/. See
http://fedoraproject.org/wiki/Extras/RPMMacros

* Delete ss5 from the Summary tag, it is redundant (and fixes rpmlint
complaining about capitalizing it)

rpmlint and comments:
W: ss5 summary-not-capitalized ss5 Socks Server 5
Will be fixed after remove ss5
W: ss5 no-version-in-last-changelog
Put the version number - release at the end of the changelog line
W: ss5 conffile-without-noreplace-flag /etc/opt/ss5/ss5.conf
W: ss5 conffile-without-noreplace-flag /etc/opt/ss5/ss5.passwd
W: ss5 conffile-without-noreplace-flag /etc/pam.d/ss5
W: ss5 conffile-without-noreplace-flag /etc/rc.d/init.d/ss5
E: ss5 executable-marked-as-config-file /etc/rc.d/init.d/ss5
I would mark ss5.conf and ss5.passwd noreplace as they are configuration files
that likely will be edited.
E: ss5 non-standard-dir-perm /var/log/ss5 0644
It's expecting something like 755.
W: ss5 log-files-without-logrotate /var/log/ss5
Optional.
W: ss5 service-default-enabled /etc/rc.d/init.d/ss5
The service is enabled by default after "chkconfig --add"; for security
reasons, most services should not be. Use "-" as the default runlevel in the
init script's chkconfig line to fix this if appropriate for this service.

E: ss5 configure-without-libdir-spec
A configure script is run without specifying the libdir. configure
options must be augmented with something like --libdir=%{_libdir}.

E: ss5 hardcoded-library-path in /usr/lib/ss5/
A library path is hardcoded to one of the following paths: /lib,
/usr/lib. It should be replaced by something like /%{_lib} or %{_libdir}.


Thank you for your patience as we work through these tedious little details.


Comment 13 Matteo Ricchetti 2006-04-05 10:12:57 UTC
Done.

Tell me if it works like you want.

Thank you
Bye.

Comment 14 Matteo Ricchetti 2006-04-05 10:13:41 UTC
Done.

Tell me if it works as you desire.

Thank you
Bye.

Comment 15 John Mahowald 2006-04-08 18:42:34 UTC
Not building on x86_64:

Processing files: ss5-3.5.4-2
error: File not found: /var/tmp/ss5-3.5.4-2-root-mockbuild/usr/lib64/ss5
Processing files: ss5-debuginfo-3.5.4-2
error: Could not open %files file
/builddir/build/BUILD/ss5-3.5.4/debugfiles.list: No such file or directory

Looks like both 64 bit and the automatic debuginfo package are not working.

The init script still is enabled by default. You need to edit it and change the
chkconfig line to something like - 20 80. Then delete the "chkconfig --level -
ss5 on" line from the spec. See chkconfig man page for reference.

Comment 16 Matteo Ricchetti 2006-04-10 15:46:36 UTC
Oh. Ok, I fix problem with init script: 
http://prdownloads.sourceforge.net/ss5/ss5-3.5.6-1.src.rpm?download

Tell me if it works on x86_64 Fedora.

Thx

Comment 17 John Mahowald 2006-04-20 23:40:04 UTC
It's actually not 0 for no runlevel, but -. So the line in the init script
should be "- 20 80" Note the -.

It does build on x86_64 though.

Comment 18 Matteo Ricchetti 2006-04-21 08:38:59 UTC
Ok I'm going to fix the init script.

Then what's next step?

Comment 19 Matteo Ricchetti 2006-05-05 09:25:21 UTC
I fixed the init script (ss5-3.5.8-2)

What's next step?

Comment 20 John Mahowald 2006-05-31 23:34:23 UTC
Using ss5-3.5.9-1.src.rpm

- rpmlint checks return:
E: ss5 configure-without-libdir-spec
A configure script is run without specifying the libdir. configure
options must be augmented with something like --libdir=%{_libdir}.

Built fine, however, with the --with-libpath option. I say ignore.

W: ss5 no-version-in-last-changelog
The last changelog entry doesn't contain a version. Please insert the
version that is coherent with the version of the package and rebuild it.

Next release add the version-release to the changelog, right after your email

W: ss5 log-files-without-logrotate /var/log/ss5
This package contains files in /var/log/ without adding logrotate
configuration for them.

logrotate not critical, but may want to consider adding in the future.

- package meets naming guidelines
- package meets packaging guidelines
- license (GPL) OK, text in %doc, matches source
- spec file legible, in am. english
- source matches upstream
- package compiles on devel (x86_64)
- no missing BR
- no unnecessary BR
- no locales
- not relocatable
- owns all directories that it creates
- no duplicate files
- permissions ok
- %clean ok
- macro use consistent
- code, not content
- no need for -docs
- nothing in %doc affects runtime
- no need for .desktop file

APPROVED

Do you need a sponsor? I'll be yours if necessary, apply for cvsextras.

Comment 21 Matteo Ricchetti 2006-06-01 08:52:33 UTC
Ok! Thank you very much for support. I think it is necessary for me to have a 
sponsor and I would be happy if you could be my sponsor.

But now I need some detail about CVS, because I'm not used to it. Sponsor can 
also import my packgage into cvs?

Bye

Comment 22 John Mahowald 2006-06-15 17:54:17 UTC
You are now on step 10 of the new contributor process, get a Fedora account.
http://fedoraproject.org/wiki/Extras/Contributors

Apply for cvsextras, I'll sponsor.

There is a cvs FAQ with example commands.
http://fedoraproject.org/wiki/Extras/UsingCvsFaq

Comment 23 Matteo Ricchetti 2006-06-16 08:25:33 UTC
Ok, I'm getting the account.

What about step regarding client build installation? Is it necessary or can I 
proceed to CVS?

Comment 24 Matteo Ricchetti 2006-06-17 14:57:12 UTC
I got the account (mricchet) and I need you sponsor my request to belong to 
cvsextras.

If I try to check out common following istructions about "Import your package" 
I get a Permission Denied (publickey, keyboard-interactive).

I generated .fedora.cert and installed into root home directory. Then I created 
home/cvs/ directory and I did "cvs co common".

Tell me if I need you approval before check out common and import my package or 
if I made an error, please.

Thx

Comment 25 Matteo Ricchetti 2006-06-21 09:45:16 UTC
Hi,

  I imported ss5 via cvs successfully under devel branch. I think I have to 
wait for approval before seeing my package on repository?

  Do you think I should request a new brach (FC o RH)? I don't understand how 
tu put my request in Extras/CVSSyncNeeded ?

Thx


  
  

Comment 26 Paul F. Johnson 2006-06-21 09:51:09 UTC
As long as you did a make tag then make build, it will show up in the devel
branch on the next FE push.

For importing to another branch, go to the CVSSyncNeeded page, login and edit
the bit which says "add your package here". It needs to be in the form

  * <distro> <package name>

So
  * FC-5 SS5
  * FC-4 SS5

This process can take a while, so be patient.

Next you have to import into it the required branch.

(on my machine I do this)
cd extras/common
./cvs-import.sh -b FC-5 ~/rpmbuild/SRPMS/foo.src.rpm

once imported
cd ..
cvs co foo
cd foo/FC-5
make tag
make build

job done

Comment 27 Matteo Ricchetti 2006-07-05 21:50:58 UTC
Hi,
  I installed build system to do make, but during testing I got the following 
error:

# plague-client list (to test the build system configuration...)
Error: API version mismatch. Client: 1, Server: 100

Can you help me, please?

Thx
Bye

Comment 28 Matteo Ricchetti 2006-07-17 14:55:44 UTC
Ok, I upgraded plague-client to 0.4 and now client and server API match (100 = 
100).

I went into devel branch and I did the command "make build":

Job ID: 12698

Now I have some questions:

- how can I check build status?

- how can I check if my package is into Extras (at the moment is part 
of "Packages not present in the development repo"? I need to specify other 
branch or in not necessary?

Thank you very much!

Bye

Comment 29 Matteo Ricchetti 2006-07-24 15:57:13 UTC
(In reply to comment #12)
> Using ss5-3.5.4-1.src.rpm
> * Drop the entire Requires line, rpm can figure out this from the 
BuildRequires.
> * some paths are not replaced with RPM macros
>   (wiki: QAChecklist item 7)
> Use macros with all of the file paths in your %files listing. For example,
> %{_mandir} instead of /usr/share/man/. See
> http://fedoraproject.org/wiki/Extras/RPMMacros
> * Delete ss5 from the Summary tag, it is redundant (and fixes rpmlint
> complaining about capitalizing it)
> rpmlint and comments:
> W: ss5 summary-not-capitalized ss5 Socks Server 5
> Will be fixed after remove ss5
> W: ss5 no-version-in-last-changelog
> Put the version number - release at the end of the changelog line
> W: ss5 conffile-without-noreplace-flag /etc/opt/ss5/ss5.conf
> W: ss5 conffile-without-noreplace-flag /etc/opt/ss5/ss5.passwd
> W: ss5 conffile-without-noreplace-flag /etc/pam.d/ss5
> W: ss5 conffile-without-noreplace-flag /etc/rc.d/init.d/ss5
> E: ss5 executable-marked-as-config-file /etc/rc.d/init.d/ss5
> I would mark ss5.conf and ss5.passwd noreplace as they are configuration 
files
> that likely will be edited.
> E: ss5 non-standard-dir-perm /var/log/ss5 0644
> It's expecting something like 755.
> W: ss5 log-files-without-logrotate /var/log/ss5
> Optional.
> W: ss5 service-default-enabled /etc/rc.d/init.d/ss5
> The service is enabled by default after "chkconfig --add"; for security
> reasons, most services should not be. Use "-" as the default runlevel in the
> init script's chkconfig line to fix this if appropriate for this service.
> E: ss5 configure-without-libdir-spec
> A configure script is run without specifying the libdir. configure
> options must be augmented with something like --libdir=%{_libdir}.
> E: ss5 hardcoded-library-path in /usr/lib/ss5/
> A library path is hardcoded to one of the following paths: /lib,
> /usr/lib. It should be replaced by something like /%{_lib} or %{_libdir}.
> Thank you for your patience as we work through these tedious little details.



Comment 30 John Mahowald 2006-07-25 01:18:17 UTC
(In reply to comment #28)
> - how can I check build status?
> 
> - how can I check if my package is into Extras (at the moment is part 
> of "Packages not present in the development repo"? I need to specify other 
> branch or in not necessary?
> 

In addition to using the plague-client, the web interface at
http://buildsys.fedoraproject.org/build-status/ shows build status. The system
should also send you email.

After a sucessful build packages are manually signed. They then appear in
http://download.fedora.redhat.com/pub/fedora/linux/extras/  and on the mirrors.
Your FC-5 build, for example, will be under 5.

Comment 31 Matteo Ricchetti 2006-07-25 07:54:37 UTC
Good!

I found my package under "devel". I'm editing wiky page as you explained and 
adding FC4 and FC5.

Thx

Comment 32 Mike McGrath 2006-07-26 02:43:12 UTC
I could not actually find SS5 in repository for branching.  I'll leave the
branch request in the wiki but you should contact your sponsor to determine what
happend during the import.

http://cvs.fedoraproject.org/viewcvs/rpms/

If something 'funny' is going on let me know and I'll take a look.

Comment 33 Mike McGrath 2006-07-26 02:47:10 UTC
sorry, false alarm.  ss5, got it :-D.  this should be branched now.

Comment 34 Matteo Ricchetti 2006-07-26 07:09:55 UTC
Ok, so when can I update my CVS with my FC 5 branch? This night?

Comment 35 Matteo Ricchetti 2006-08-02 12:54:24 UTC
I upload src.rpm into FC-5, as follow reported:

[root@minix common]# ./cvs-import.sh -b FC-5 /usr/src/redhat/SRPMS/ss5-3.5.9-
1.src.rpm
Checking out the modules file...
For more information on using the Fedora source code repositories,
please visit http://fedoraproject.org/wiki/UsingCvs
For more information on using the Fedora source code repositories,
please visit http://fedoraproject.org/wiki/UsingCvs
Module 'ss5' already exists...
Checking out module: 'ss5'
For more information on using the Fedora source code repositories,
please visit http://fedoraproject.org/wiki/UsingCvs
Unpacking source package: ss5-3.5.9-1.src.rpm...
For more information on using the Fedora source code repositories,
please visit http://fedoraproject.org/wiki/UsingCvs
cvs commit...
For more information on using the Fedora source code repositories,
please visit http://fedoraproject.org/wiki/UsingCvs
Commit Complete
For more information on using the Fedora source code repositories,
please visit http://fedoraproject.org/wiki/UsingCvs
ERROR: The tag ss5-3_5_9-1 is already applied on a different branch
ERROR: You can not forcibly move tags between branches
ss5-3_5_9-1:devel:mricchet:1150827849
cvs tag: Pre-tag check failed
cvs [tag aborted]: correct the above errors first!

But, when I do "cvs co ss5"  as suggested into previous Comment:

"...Next you have to import into it the required branch.

(on my machine I do this)
cd extras/common
./cvs-import.sh -b FC-5 ~/rpmbuild/SRPMS/foo.src.rpm

once imported
cd ..
cvs co foo
cd foo/FC-5
make tag
make build

job done..."

CVS answer to me that ss5 doesn't exist ?!

What can I do now to build my package?

Comment 36 Matteo Ricchetti 2006-08-05 10:57:47 UTC
Ok,now it works, but if I do the command "make tag into ss5/FC-5" cvs answer to 
me:

[root@minix FC-5]# make tag
cvs tag  -c ss5-3_5_9-1
For more information on using the Fedora source code repositories,
please visit http://fedoraproject.org/wiki/UsingCvs
ERROR: The tag ss5-3_5_9-1 is already applied on a different branch
ERROR: You can not forcibly move tags between branches
ss5-3_5_9-1:devel:mricchet:1150827849
cvs tag: Pre-tag check failed
cvs [tag aborted]: correct the above errors first!
make: *** [tag] Error 1



Comment 37 Matteo Ricchetti 2006-08-10 12:12:07 UTC
News?

Some other questions:

- What I have to do when I'll release ss5-3.6.1 ? 
- I have some installation on RedHat AS4.0, can I make a branches for RH?
- Can I expose Fedora logo on my web site to promote the package?

Thanks!


Comment 38 Patrice Dumas 2006-08-10 15:01:21 UTC
(In reply to comment #36)

> cvs tag  -c ss5-3_5_9-1
> ERROR: The tag ss5-3_5_9-1 is already applied on a different branch
> ERROR: You can not forcibly move tags between branches
> ss5-3_5_9-1:devel:mricchet:1150827849

It means that you have 2 packages with the exact same tag (name)
in cvs. The usual way to workaround that issue is to add a 
dist tag, so that the release looks like

Release: 1%{?dist}

You could also read
http://fedoraproject.org/wiki/Packaging/DistTag
(it covers much more)

After you have added the dist tag, you should be carefull to make
sure that the upgrade path between fedora versions is clean, such
that ss5 on fedora 6 appears newer for rpm than ss5 on fedora 5
which appears newer than ss5 on fc4 and so on.

Comment 39 Patrice Dumas 2006-08-10 15:14:11 UTC
(In reply to comment #37)

> - What I have to do when I'll release ss5-3.6.1 ? 

Have a look at the beginning of
http://fedoraproject.org/wiki/Extras/UsingCvsFaq

> - I have some installation on RedHat AS4.0, can I make a branches for RH?

There is no such thing in fedora. AS4.0 should be more or less
compatible with fedora core 3 (and there is somewhere a repo with 
fedora extras packages rebuilt for centos4 which should be compatible
with AS4), but inclusion of FC-3 branches isn't possible anymore
as it is legacy since quite a long time.

> - Can I expose Fedora logo on my web site to promote the package?

I think the best information about the logo is to be found here:
http://fedoraproject.org/wiki/Logo


Comment 40 Matteo Ricchetti 2006-08-11 07:28:35 UTC
1) I read the steps about "Import of complete src.rpm packages" (it's my 
case), so I ask you to check how I want to proceed:


* My package is named ss5 (ss5-3.5.9-1.src.rpm) and is under Devel/FC-4/Fc-5 
branch;

* I am releasing new version of ss5 (ss5-3.6.1-1.src.rpm), so:

export CVSROOT=:ext:USERNAME.redhat.com:/cvs/extras
export CVS_RSH=ssh

   cvs co ss5
   cd ss5/devel

   cd ss5/common

   a ...
   b ./cvs-import.sh -b <FC-5> -m "ss5 updated to 3.6.1-1" ~/rpmbuild/SRPM/ss5-
3.6.1-1.src.rpm
 
   c cd ../FC-5
   d cvs up
   e make build

   ... 
   (steps a,b,c,d,e also for FC-4 branch)

2) About logo, I read  guidelines and I wrote to mailbox to requests usage 
permission.

Thank you.


Comment 41 Matteo Ricchetti 2006-08-21 13:18:31 UTC
Any news?

Thx!

Comment 42 Patrice Dumas 2006-08-28 23:11:56 UTC
(In reply to comment #40)
> 1) I read the steps about "Import of complete src.rpm packages" (it's my 
> case), so I ask you to check how I want to proceed:

It is not a "complete src.rpm packages", it is an update of a package
allready in the cvs repository.
 
> * My package is named ss5 (ss5-3.5.9-1.src.rpm) and is under Devel/FC-4/Fc-5 
> branch;

> * I am releasing new version of ss5 (ss5-3.6.1-1.src.rpm), so:
> 
> export CVSROOT=:ext:USERNAME.redhat.com:/cvs/extras
> export CVS_RSH=ssh
> 
>    cvs co ss5

No need to do that


>    a ...
>    b ./cvs-import.sh -b <FC-5> -m "ss5 updated to 3.6.1-1" ~/rpmbuild/SRPM/ss5-
> 3.6.1-1.src.rpm

That's not the recommended way.
The recommended way is to 
make new-sources FILES="new-tarball.tgz"
modify specfile
cvs commit 
(this should commit the change in sources). As I said above
it is covered in
http://fedoraproject.org/wiki/Extras/UsingCvsFaq





Comment 43 Kevin Fenzi 2006-09-02 21:02:46 UTC
Since this package has been imported and released, can we close this request 
as NEXTRELEASE?

Additional support can be found on the extras-list, via email with your 
sponsor, or on the #fedora-extras irc channel. 

Comment 44 Matteo Ricchetti 2006-09-10 18:03:49 UTC
Ok, close it as NEXTRELEASE. I'm trying to update the package as you told me.

Last help: I wrote twice to logo mailer asking about exposing Fedora Logo on 
my website, but I didn't yet receive a response. Can you contact them for me 
please?

Comment 45 John Mahowald 2006-10-14 16:25:16 UTC
Typically the package submitter closes it when the package is built.

Closing.