Re: [Spacewalk-devel] The struggle with rhn-client-tools on Debian

2011-04-06 Thread Miroslav Suchý
On 04/02/2011 01:46 PM, Simon Lukasik wrote:
 I have finished a minimal work needed for rhn-client-tools on Debian.
 Changes are in rhn-client-tools-debian branch. Would You mind to take a
 review?

I just read the code and have no problem.

My comment:
- in debUtils I would use python-dpkg. I know that it is long time dead,
but dpkg does not change either. So you may not depend on it directly,
but copy'n'paste it from that library.

-- 
Miroslav Suchy
Red Hat Satellite Engineering

___
Spacewalk-devel mailing list
Spacewalk-devel@redhat.com
https://www.redhat.com/mailman/listinfo/spacewalk-devel


Re: [Spacewalk-devel] The struggle with rhn-client-tools on Debian

2011-04-06 Thread Simon Lukasik
On 04/06/2011 03:39 PM, Miroslav Suchý wrote:
 On 04/02/2011 01:46 PM, Simon Lukasik wrote:
 I have finished a minimal work needed for rhn-client-tools on Debian.
 Changes are in rhn-client-tools-debian branch. Would You mind to take a
 review?
 
 I just read the code and have no problem.
 
Merged to master.

 My comment:
 - in debUtils I would use python-dpkg. I know that it is long time dead,
 but dpkg does not change either. So you may not depend on it directly,
 but copy'n'paste it from that library.
 

I will look at it.

Thanks much.

-- 
Simon LukasikSystems Management QA
sluka...@redhat.com  #satellite-qa

___
Spacewalk-devel mailing list
Spacewalk-devel@redhat.com
https://www.redhat.com/mailman/listinfo/spacewalk-devel


Re: [Spacewalk-devel] The struggle with rhn-client-tools on Debian

2011-04-02 Thread Simon Lukasik
On 03/29/2011 05:36 PM, Simon Lukasik wrote:
 On 03/29/2011 08:41 AM, Miroslav Suchý wrote:
 On 03/29/2011 08:19 AM, Simon Lukasik wrote:
 (A) A big part of the code depends directly on python-rpm.
 We don't want 'import rpm' on Debian nor 'import apt' on Fedora.
 (B) /etc/sysconfig does not exist on Debian

 I would suggest to use /etc/default/rhn. /etc/default is Debian
 equivalent for /etc/sysconfig. More or less.

 The problem is not, that I cannot find an equivalent, the problem is,
 how to separate the code.
 
 (C) redhat-release does not exist on Debian
 /etc/debian_version
 or
 lsb_release -r
 or
 lsb_release -c
 
 So You suggest to require lsb from rhn-client-tools? It's not
 necessarily needed, but it would make things easier, yes.
 

 (D) Architecture names are slightly different
 Yeah, but we already have Debian architecture in DB and rhnpush count
 with it, right?
 
 Not exactly, but yes. Now we treat i686 as an i386. Which might not be
 ultimate solution for an Ubuntus.
 

 Potential solutions:


Hello Mirek,

I have finished a minimal work needed for rhn-client-tools on Debian.
Changes are in rhn-client-tools-debian branch. Would You mind to take a
review?

I have introduced up2date_client.platform.getPlatfrom() which returns
either 'rpm' or 'deb'. And other modules look up the value and decide
what to do in a runtime. The 'rpm' is always default and I aimed not to
change the behavior for rpm.

So far I didn't touch /etc/sysconfig/rhn path. Nor the strings. It could
be the next step.

For testing on Debian you will need to install at least: python-ethtool,
python-newt, python-dmidecode, python-apt, python-libxml2, lsb-release.
And then install rhn-client-tools by:

  make PLATFORM=deb -f Makefile.rhn-client-tools install

At least you should be able to register with Spacewalk-1.3+. Seeing the
hardware profile, distribution information and package profile together
with installation dates.

Please make use of activation keys. So far we have no mechanism to
associate channel to Debian/Ubuntu/Mint/Whatever. It could be tricky to
parse that distribution information provided by lsb-release.

I will follow up with *.deb packages, once these changes are merged
upstream.

Regards,

 My priorities:

 (1) Create a Debian patch, and apply it only when building the .deb
 package. It is easier for start, but the patch needs to be maintained.

 +1

 (2) Modify upstream rhn-client-tools, to include bits for both: Debian 
 Fedora and choose one during a build-time.

 +3

 (3) Same as (2) but in run-time. (polymorphism).

 +2

 (4) interleave with if-else:
 if getPlatform() == 'deb': import apt
 else: import rpm
 +2

 (5) Still there is an option to write rhn-client-tools from scratch.
 (Design new interface). I doubt anybody likes that.

 -10


 
 I see, build-time (2) has scored. I will look at this option focusing on
 Python's distutils. Assuming that sed (see current Makefile) and
 Python's preprocesor are not preferred ways.
 
 Will see,
 

-- 
Simon Lukasik

___
Spacewalk-devel mailing list
Spacewalk-devel@redhat.com
https://www.redhat.com/mailman/listinfo/spacewalk-devel


Re: [Spacewalk-devel] The struggle with rhn-client-tools on Debian

2011-03-29 Thread Miroslav Suchý
On 03/29/2011 08:19 AM, Simon Lukasik wrote:
 (A) A big part of the code depends directly on python-rpm.
 We don't want 'import rpm' on Debian nor 'import apt' on Fedora.
 (B) /etc/sysconfig does not exist on Debian

I would suggest to use /etc/default/rhn. /etc/default is Debian
equivalent for /etc/sysconfig. More or less.

 (C) redhat-release does not exist on Debian
/etc/debian_version
or
lsb_release -r
or
lsb_release -c

 (D) Architecture names are slightly different
Yeah, but we already have Debian architecture in DB and rhnpush count
with it, right?

 Potential solutions:

My priorities:

 (1) Create a Debian patch, and apply it only when building the .deb
 package. It is easier for start, but the patch needs to be maintained.

+1

 (2) Modify upstream rhn-client-tools, to include bits for both: Debian 
 Fedora and choose one during a build-time.

+3

 (3) Same as (2) but in run-time. (polymorphism).

+2

 (4) interleave with if-else:
 if getPlatform() == 'deb': import apt
 else: import rpm
+2

 (5) Still there is an option to write rhn-client-tools from scratch.
 (Design new interface). I doubt anybody likes that.

-10


-- 
Miroslav Suchy
Red Hat Satellite Engineering

___
Spacewalk-devel mailing list
Spacewalk-devel@redhat.com
https://www.redhat.com/mailman/listinfo/spacewalk-devel


Re: [Spacewalk-devel] The struggle with rhn-client-tools on Debian

2011-03-29 Thread Simon Lukasik
On 03/29/2011 08:41 AM, Miroslav Suchý wrote:
 On 03/29/2011 08:19 AM, Simon Lukasik wrote:
 (A) A big part of the code depends directly on python-rpm.
 We don't want 'import rpm' on Debian nor 'import apt' on Fedora.
 (B) /etc/sysconfig does not exist on Debian
 
 I would suggest to use /etc/default/rhn. /etc/default is Debian
 equivalent for /etc/sysconfig. More or less.
 
The problem is not, that I cannot find an equivalent, the problem is,
how to separate the code.

 (C) redhat-release does not exist on Debian
 /etc/debian_version
 or
 lsb_release -r
 or
 lsb_release -c

So You suggest to require lsb from rhn-client-tools? It's not
necessarily needed, but it would make things easier, yes.

 
 (D) Architecture names are slightly different
 Yeah, but we already have Debian architecture in DB and rhnpush count
 with it, right?

Not exactly, but yes. Now we treat i686 as an i386. Which might not be
ultimate solution for an Ubuntus.

 
 Potential solutions:
 
 My priorities:
 
 (1) Create a Debian patch, and apply it only when building the .deb
 package. It is easier for start, but the patch needs to be maintained.
 
 +1
 
 (2) Modify upstream rhn-client-tools, to include bits for both: Debian 
 Fedora and choose one during a build-time.
 
 +3
 
 (3) Same as (2) but in run-time. (polymorphism).
 
 +2
 
 (4) interleave with if-else:
 if getPlatform() == 'deb': import apt
 else: import rpm
 +2
 
 (5) Still there is an option to write rhn-client-tools from scratch.
 (Design new interface). I doubt anybody likes that.
 
 -10
 
 

I see, build-time (2) has scored. I will look at this option focusing on
Python's distutils. Assuming that sed (see current Makefile) and
Python's preprocesor are not preferred ways.

Will see,

-- 
Simon Lukasik

___
Spacewalk-devel mailing list
Spacewalk-devel@redhat.com
https://www.redhat.com/mailman/listinfo/spacewalk-devel