rel-eng/packages web/spacewalk-web.spec
by Jan Pazdziora
rel-eng/packages/spacewalk-web | 2 +-
web/spacewalk-web.spec | 13 ++++++++++++-
2 files changed, 13 insertions(+), 2 deletions(-)
New commits:
commit 74ff449eb3445a4dcf016ad4dd5a188da9111674
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Mon Feb 28 16:00:19 2011 +0100
Automatic commit of package [spacewalk-web] release [1.4.7-1].
diff --git a/rel-eng/packages/spacewalk-web b/rel-eng/packages/spacewalk-web
index f1e9bd5..534858e 100644
--- a/rel-eng/packages/spacewalk-web
+++ b/rel-eng/packages/spacewalk-web
@@ -1 +1 @@
-1.4.6-1 web/
+1.4.7-1 web/
diff --git a/web/spacewalk-web.spec b/web/spacewalk-web.spec
index 5616459..8a36b46 100644
--- a/web/spacewalk-web.spec
+++ b/web/spacewalk-web.spec
@@ -2,7 +2,7 @@ Name: spacewalk-web
Summary: Spacewalk Web site packages
Group: Applications/Internet
License: GPLv2
-Version: 1.4.6
+Version: 1.4.7
Release: 1%{?dist}
URL: https://fedorahosted.org/spacewalk
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -260,6 +260,17 @@ rm -rf $RPM_BUILD_ROOT
# $Id$
%changelog
+* Mon Feb 28 2011 Jan Pazdziora 1.4.7-1
+- Replacing date arithmetics with current_timestamp + numtodsinterval().
+- We need to use current_timestamp instead of sysdate.
+- Use sequence_nextval function.
+- PostgreSQL does not like table alias on insert.
+- We need to use global evr_t_as_vre_simple instead of PE.evr.as_vre_simple().
+- The use of verify_channel_role is always in scalar context, no need to user
+ the user_role_check_debug.
+- Prevent empty strings from being inserted to the database.
+- Adding the AS keyword to column aliases for PostgreSQL.
+
* Fri Feb 25 2011 Jan Pazdziora 1.4.6-1
- 680375 - we do not want the locked status (icon) to hide the the other
statuses, we add separate padlock icon.
13 years, 1 month
7 commits - web/modules
by Jan Pazdziora
web/modules/rhn/RHN/DB/ChannelEditor.pm | 16 ++++++----------
web/modules/rhn/RHN/DB/Errata.pm | 8 ++++----
2 files changed, 10 insertions(+), 14 deletions(-)
New commits:
commit 72380a5633f05de256b001b89fecdf20a34372b5
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Mon Feb 28 14:48:16 2011 +0100
Replacing date arithmetics with current_timestamp + numtodsinterval().
Addressing
DBD::Pg::st execute failed: ERROR: operator is not unique: date + unknown at character 174
diff --git a/web/modules/rhn/RHN/DB/ChannelEditor.pm b/web/modules/rhn/RHN/DB/ChannelEditor.pm
index 7258175..f581e9f 100644
--- a/web/modules/rhn/RHN/DB/ChannelEditor.pm
+++ b/web/modules/rhn/RHN/DB/ChannelEditor.pm
@@ -466,20 +466,16 @@ EOQ
$sth->execute($cid);
- my $now = RHN::Date->now->long_date;
-
- $delay = $delay / (24*60*60);
-
if ($sth->fetchrow) {
$sth->finish;
$sth = $dbh->prepare(<<EOQ);
UPDATE rhnTaskQueue
- SET earliest = TO_DATE(?, 'YYYY-MM-DD HH24:MI:SS') + ?
+ SET earliest = current_timestamp + numtodsinterval(?, 'second')
WHERE task_data = ?
EOQ
- $sth->execute($now, $delay, $cid);
+ $sth->execute($delay, $cid);
}
else {
$sth->finish;
@@ -487,10 +483,10 @@ EOQ
$sth = $dbh->prepare(<<EOQ);
INSERT INTO rhnTaskQueue
(org_id, task_name, task_data, priority, earliest)
-VALUES (?, 'update_errata_cache_by_channel', ?, 0, TO_DATE(?, 'YYYY-MM-DD HH24:MI:SS') + ?)
+VALUES (?, 'update_errata_cache_by_channel', ?, 0, current_timestamp + numtodsinterval(?, 'second'))
EOQ
- $sth->execute($org_id, $cid, $now, $delay);
+ $sth->execute($org_id, $cid, $delay);
}
$dbh->commit;
commit 575b2a1eb45342f305c600f0fac4977e21801200
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Mon Feb 28 14:35:41 2011 +0100
We need to use current_timestamp instead of sysdate.
Addressing
DBD::Pg::st execute failed: ERROR: column "sysdate" does not exist at character 260
diff --git a/web/modules/rhn/RHN/DB/ChannelEditor.pm b/web/modules/rhn/RHN/DB/ChannelEditor.pm
index 7699f77..7258175 100644
--- a/web/modules/rhn/RHN/DB/ChannelEditor.pm
+++ b/web/modules/rhn/RHN/DB/ChannelEditor.pm
@@ -729,7 +729,7 @@ INSERT
INTO rhnRepoRegenQueue
(id, channel_label, client, reason, force, bypass_filters, next_action, created, modified)
VALUES (sequence_nextval('rhn_repo_regen_queue_id_seq'),
- :label, 'perl-web::add_cloned_errata_to_channel', NULL, 'N', 'N', sysdate, sysdate, sysdate)
+ :label, 'perl-web::add_cloned_errata_to_channel', NULL, 'N', 'N', current_timestamp, current_timestamp, current_timestamp)
EOQ
my $channel = RHN::Channel->lookup(-id => $attr{to_cid});
commit 8f27dd3090f2b7fbb4653cccd73d5a514e268c5d
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Mon Feb 28 14:34:43 2011 +0100
Use sequence_nextval function.
Addressing
DBD::Pg::st execute failed: ERROR: missing FROM-clause entry for table "rhn_repo_regen_queue_id_seq" at character 141
diff --git a/web/modules/rhn/RHN/DB/ChannelEditor.pm b/web/modules/rhn/RHN/DB/ChannelEditor.pm
index 02420fb..7699f77 100644
--- a/web/modules/rhn/RHN/DB/ChannelEditor.pm
+++ b/web/modules/rhn/RHN/DB/ChannelEditor.pm
@@ -728,7 +728,7 @@ EOQ
INSERT
INTO rhnRepoRegenQueue
(id, channel_label, client, reason, force, bypass_filters, next_action, created, modified)
-VALUES (rhn_repo_regen_queue_id_seq.nextval,
+VALUES (sequence_nextval('rhn_repo_regen_queue_id_seq'),
:label, 'perl-web::add_cloned_errata_to_channel', NULL, 'N', 'N', sysdate, sysdate, sysdate)
EOQ
commit 431881bb33217f21b360b09201348f4f0a36ca74
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Mon Feb 28 14:32:42 2011 +0100
PostgreSQL does not like table alias on insert.
Addressing
DBD::Pg::st execute failed: ERROR: syntax error at or near "EFP" at character 36
diff --git a/web/modules/rhn/RHN/DB/Errata.pm b/web/modules/rhn/RHN/DB/Errata.pm
index 082f1d1..7267378 100644
--- a/web/modules/rhn/RHN/DB/Errata.pm
+++ b/web/modules/rhn/RHN/DB/Errata.pm
@@ -707,7 +707,7 @@ EOQ
my $efp_table = $self->table_map('rhnErrataFilePackage');
my $efp_insert_query = <<EOQ;
INSERT
- INTO $efp_table EFP
+ INTO $efp_table
(errata_file_id, package_id)
VALUES (:ef_id, :pid)
EOQ
commit b69538049699bf784a8807b32abf60f7b1351a18
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Mon Feb 28 14:30:13 2011 +0100
We need to use global evr_t_as_vre_simple instead of PE.evr.as_vre_simple().
Addressing
RHN::Exception: DBD::Pg::st execute failed: ERROR: cross-database references are not implemented: pe.evr.as_vre_simple
diff --git a/web/modules/rhn/RHN/DB/Errata.pm b/web/modules/rhn/RHN/DB/Errata.pm
index e45cf9d..082f1d1 100644
--- a/web/modules/rhn/RHN/DB/Errata.pm
+++ b/web/modules/rhn/RHN/DB/Errata.pm
@@ -681,7 +681,7 @@ EOQ
my $ep_table = $self->table_map('rhnErrataPackage');
$query = <<EOQ;
SELECT sequence_nextval('rhn_erratafile_id_seq') AS ID, EFT.id AS TYPE_ID, Csum.checksum md5sum, P.path, P.id AS PACKAGE_ID,
- PN.name || '-' || PE.evr.as_vre_simple() || '.' || PA.label AS NVREA
+ PN.name || '-' || evr_t_as_vre_simple(PE.evr) || '.' || PA.label AS NVREA
FROM rhnErrataFileType EFT, rhnPackage P, $ep_table EP, rhnPackageName PN, rhnPackageEVR PE, rhnPackageArch PA, rhnChecksum Csum
WHERE EFT.label = 'RPM'
AND P.id = EP.package_id
commit cd29155debbd447b59ade9aedf8ca487a8758b6b
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Mon Feb 28 14:27:01 2011 +0100
Use sequence_nextval function.
Addressing
RHN::Exception: DBD::Pg::st execute failed: ERROR: missing FROM-clause entry for table "rhn_erratafile_id_seq" at character 8
diff --git a/web/modules/rhn/RHN/DB/Errata.pm b/web/modules/rhn/RHN/DB/Errata.pm
index 4360ddc..e45cf9d 100644
--- a/web/modules/rhn/RHN/DB/Errata.pm
+++ b/web/modules/rhn/RHN/DB/Errata.pm
@@ -680,7 +680,7 @@ EOQ
my $ep_table = $self->table_map('rhnErrataPackage');
$query = <<EOQ;
-SELECT rhn_erratafile_id_seq.nextval AS ID, EFT.id AS TYPE_ID, Csum.checksum md5sum, P.path, P.id AS PACKAGE_ID,
+SELECT sequence_nextval('rhn_erratafile_id_seq') AS ID, EFT.id AS TYPE_ID, Csum.checksum md5sum, P.path, P.id AS PACKAGE_ID,
PN.name || '-' || PE.evr.as_vre_simple() || '.' || PA.label AS NVREA
FROM rhnErrataFileType EFT, rhnPackage P, $ep_table EP, rhnPackageName PN, rhnPackageEVR PE, rhnPackageArch PA, rhnChecksum Csum
WHERE EFT.label = 'RPM'
commit 7a4b03ab4a8a83789975a6e54a6b1b61d8abbc27
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Mon Feb 28 13:56:43 2011 +0100
Use sequence_nextval function.
Addressing
RHN::Exception: DBD::Pg::st execute failed: ERROR: missing FROM-clause entry for table "rhn_erratafile_id_seq" at character 99
diff --git a/web/modules/rhn/RHN/DB/Errata.pm b/web/modules/rhn/RHN/DB/Errata.pm
index d81826b..4360ddc 100644
--- a/web/modules/rhn/RHN/DB/Errata.pm
+++ b/web/modules/rhn/RHN/DB/Errata.pm
@@ -443,7 +443,7 @@ sub commit {
if ($self->id == -1) {
unless ($id) {
- my $sth = $dbh->prepare("SELECT rhn_errata_id_seq.nextval FROM DUAL");
+ my $sth = $dbh->prepare("SELECT sequence_nextval('rhn_errata_id_seq') FROM DUAL");
$sth->execute;
($id) = $sth->fetchrow;
die "No new errata id from seq rhn_errata_id_seq (possible error: " . $sth->errstr . ")" unless $id;
13 years, 1 month
backend/server
by Michael Mraka
backend/server/importlib/backend.py | 22 ----------------------
1 file changed, 22 deletions(-)
New commits:
commit a3edb3ddfd8bef0970470ecb5a4358ab30c5f7c6
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Mon Feb 28 13:52:23 2011 +0100
removed unused updateChannelFamilyInfo()
diff --git a/backend/server/importlib/backend.py b/backend/server/importlib/backend.py
index b651dcf..87bf6be 100644
--- a/backend/server/importlib/backend.py
+++ b/backend/server/importlib/backend.py
@@ -289,28 +289,6 @@ class Backend:
hash[k] = row
# Else, it's an unsupported channel
- def updateChannelFamilyInfo(self, familyid, orgid):
- _query_org_priv_family = """
- SELECT 1
- FROM rhnPrivateChannelFamily PCF
- WHERE PCF.channel_family_id = :cfid
- AND PCF.org_id = :orgid
- """
- h = self.dbmodule.prepare(_query_org_priv_family)
- h.execute(cfid = familyid, orgid = orgid)
- row = h.fetchone_dict()
- if row:
- return
-
- _query_priv_cf_org = """
- insert into rhnPrivateChannelFamily
- (channel_family_id, org_id) values
- (:cfid, :orgid)
- """
- h = self.dbmodule.prepare(_query_priv_cf_org)
- h.execute(cfid = familyid, orgid = orgid)
-
-
def lookupChannelPackageArchCompat(self, channelArchHash):
# Return all the arches compatible with each key of archHash
sql = """
13 years, 1 month
4 commits - web/modules
by Jan Pazdziora
web/modules/rhn/RHN/DB/Channel.pm | 2 +-
web/modules/rhn/RHN/DB/ChannelEditor.pm | 4 ++--
web/modules/rhn/RHN/DB/User.pm | 12 ++++--------
3 files changed, 7 insertions(+), 11 deletions(-)
New commits:
commit 041985d8f90f32e8709656b1252fdbe02af53f0d
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Mon Feb 28 13:52:57 2011 +0100
The use of verify_channel_role is always in scalar context, no need to user the user_role_check_debug.
Addressing
Please use DBI functions for transaction handling at /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/DBD/Pg.pm line 191.
at /usr/lib/perl5/vendor_perl/5.8.8/RHN/DB/User.pm line 1283
diff --git a/web/modules/rhn/RHN/DB/User.pm b/web/modules/rhn/RHN/DB/User.pm
index 6cb3790..2f3ac69 100644
--- a/web/modules/rhn/RHN/DB/User.pm
+++ b/web/modules/rhn/RHN/DB/User.pm
@@ -1281,19 +1281,15 @@ sub verify_channel_role {
my $dbh = RHN::DB->connect;
my $sth = $dbh->prepare(<<EOQ);
-BEGIN
- :result := rhn_channel.user_role_check_debug(:cid, :user_id, :role, :reason);
-END;
+ select rhn_channel.user_role_check(:cid, :user_id, :role) from dual
EOQ
- my ($result, $reason);
- $sth->execute_h(cid => $channel_id,
+ my $result = $sth->execute_h(cid => $channel_id,
user_id => $self->id,
role => $role,
- result => \$result,
- reason => \$reason);
+ );
- return wantarray ? ($result, $reason) : $result;
+ return $result;
}
sub verify_errata_admin {
my $self = shift;
commit c013bea51bee474277e755f1f046fef0fd1952ca
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Mon Feb 28 13:38:02 2011 +0100
We need to use current_timestamp instead of sysdate.
Addressing
RHN::Exception: DBD::Pg::st execute failed: ERROR: column "sysdate" does not exist at character 263
diff --git a/web/modules/rhn/RHN/DB/ChannelEditor.pm b/web/modules/rhn/RHN/DB/ChannelEditor.pm
index dcfbd37..02420fb 100644
--- a/web/modules/rhn/RHN/DB/ChannelEditor.pm
+++ b/web/modules/rhn/RHN/DB/ChannelEditor.pm
@@ -340,7 +340,7 @@ INSERT
INTO rhnRepoRegenQueue
(id, channel_label, client, reason, force, bypass_filters, next_action, created, modified)
VALUES (sequence_nextval('rhn_repo_regen_queue_id_seq'),
- :label, 'perl-web::clone_original_channel_packages', NULL, 'N', 'N', sysdate, sysdate, sysdate)
+ :label, 'perl-web::clone_original_channel_packages', NULL, 'N', 'N', current_timestamp, current_timestamp, current_timestamp)
EOQ
my $channel = RHN::Channel->lookup(-id => $to_cid);
commit 068117ebab3c2194e2e00f3f25ab1111ec401270
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Mon Feb 28 13:37:04 2011 +0100
Use sequence_nextval function.
Addressing
RHN::Exception: DBD::Pg::st execute failed: ERROR: missing FROM-clause entry for table "rhn_repo_regen_queue_id_seq" at character 141
diff --git a/web/modules/rhn/RHN/DB/ChannelEditor.pm b/web/modules/rhn/RHN/DB/ChannelEditor.pm
index ec6a43f..dcfbd37 100644
--- a/web/modules/rhn/RHN/DB/ChannelEditor.pm
+++ b/web/modules/rhn/RHN/DB/ChannelEditor.pm
@@ -339,7 +339,7 @@ EOQ
INSERT
INTO rhnRepoRegenQueue
(id, channel_label, client, reason, force, bypass_filters, next_action, created, modified)
-VALUES (rhn_repo_regen_queue_id_seq.nextval,
+VALUES (sequence_nextval('rhn_repo_regen_queue_id_seq'),
:label, 'perl-web::clone_original_channel_packages', NULL, 'N', 'N', sysdate, sysdate, sysdate)
EOQ
commit 7f980d086c784204471ab194e8d4b4b9ecd90bc7
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Mon Feb 28 13:35:46 2011 +0100
Prevent empty strings from being inserted to the database.
Addressing
RHN::Exception: DBD::Pg::st execute failed: ERROR: new row for relation "rhnchannel" violates check constraint "vn_rhnchannel_gpg_key_fp"
diff --git a/web/modules/rhn/RHN/DB/Channel.pm b/web/modules/rhn/RHN/DB/Channel.pm
index ce21838..2dfabb7 100644
--- a/web/modules/rhn/RHN/DB/Channel.pm
+++ b/web/modules/rhn/RHN/DB/Channel.pm
@@ -108,7 +108,7 @@ sub commit {
}
my $sth = $dbh->prepare($query);
- $sth->execute((map { $self->$_() } grep { $modified{$_} } $c->method_names), ($mode eq 'update') ? ($self->id) : ());
+ $sth->execute((map { my $e = $self->$_(); $e = undef if defined $e and $e eq ''; $e } grep { $modified{$_} } $c->method_names), ($mode eq 'update') ? ($self->id) : ());
# if ($mode eq 'insert') {
# $sth = $dbh->prepare('INSERT INTO rhnChannelPermissions (channel_id, org_id) VALUES (?, ?)');
13 years, 1 month
10 commits - backend/common backend/server
by Michael Mraka
backend/common/__init__.py | 2 -
backend/common/rhnTB.py | 4 --
backend/server/importlib/headerSource.py | 37 ---------------------
backend/server/rhnChannel.py | 39 -----------------------
backend/server/rhnServer/server_class.py | 8 ----
backend/server/rhnServer/server_lib.py | 7 ----
backend/server/test/misc_functions.py | 25 --------------
backend/server/test/unit-test/test_rhnChannel.py | 33 -------------------
8 files changed, 1 insertion(+), 154 deletions(-)
New commits:
commit 2ce39c6df500f47a5cc01b61b7a67f5cc4bf96a4
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Fri Feb 25 14:17:31 2011 +0100
removed dead function check_with_seclist()
diff --git a/backend/common/__init__.py b/backend/common/__init__.py
index aa29c1d..fa51f51 100644
--- a/backend/common/__init__.py
+++ b/backend/common/__init__.py
@@ -20,7 +20,7 @@
from UserDictCase import UserDictCase
from RPC_Base import RPC_Base
from rhnException import rhnFault, rhnException, xmlrpclib, redirectException
-from rhnTB import Traceback, fetchTraceback, exitWithTraceback, add_to_seclist, check_with_seclist, get_seclist
+from rhnTB import Traceback, fetchTraceback, exitWithTraceback, add_to_seclist, get_seclist
from rhnConfig import CFG, initCFG
# try to figure out if we're running under Apache or not
diff --git a/backend/common/rhnTB.py b/backend/common/rhnTB.py
index 7f9f53d..8642d61 100644
--- a/backend/common/rhnTB.py
+++ b/backend/common/rhnTB.py
@@ -231,7 +231,3 @@ def add_to_seclist(obj):
if not seclist.check(obj):
seclist.add(obj)
-def check_with_seclist(obj):
- """ Checks whether a string is in seclist.sec or not. Returns True or False. """
- seclist = SecurityList()
- return seclist.check(obj)
commit e9e4c6e18a3497834c2bb846164a23210079cd20
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Fri Feb 25 14:34:49 2011 +0100
_populateFromFile() is dead after populateFromFile() removal
diff --git a/backend/server/importlib/headerSource.py b/backend/server/importlib/headerSource.py
index 469f367..92e63d4 100644
--- a/backend/server/importlib/headerSource.py
+++ b/backend/server/importlib/headerSource.py
@@ -94,26 +94,6 @@ class rpmPackage(IncompletePackage):
self['payload_size'] = 0
return self
- def _populateFromFile(self, f_path, relpath=None, org_id=None, channels=[],
- source=None):
- f_obj = file(f_path)
- import server.rhnPackageUpload as rhnPackageUpload
- header, payload_stream, header_start, header_end = \
- rhnPackageUpload.load_package(f_obj)
- if (source and not header.is_source) or (not source and header.is_source):
- raise ValueError("Unexpected RPM package type")
-
- # Get the size
- size = os.path.getsize(f_path)
- path = None
- if relpath:
- # Strip trailing slashes
- path = "%s/%s" % (sanitizePath(relpath), os.path.basename(f_path))
- checksum_type = header.checksum_type()
- checksum = getFileChecksum(header.checksum_type(), file=payload_stream)
- self.populate(header, size, checksum_type, checksum, path, org_id,
- header_start, header_end, channels)
-
class rpmBinaryPackage(Package, rpmPackage):
# Various mappings
tagMap = rpmPackage.tagMap.copy()
commit f61551b9f0cc9fffae886c99b031f0cf2b23c715
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Fri Feb 25 14:34:49 2011 +0100
populateFromFile is dead after createPackageFromFile() removal
diff --git a/backend/server/importlib/headerSource.py b/backend/server/importlib/headerSource.py
index 677b7b1..469f367 100644
--- a/backend/server/importlib/headerSource.py
+++ b/backend/server/importlib/headerSource.py
@@ -161,9 +161,6 @@ class rpmBinaryPackage(Package, rpmPackage):
# Channels
self._populateChannels(channels)
- def populateFromFile(self, file, relpath=None, org_id=None, channels=[]):
- return self._populateFromFile(file, relpath, org_id, channels)
-
def _populateFiles(self, header):
self._populateTag(header, 'files', rpmFile)
@@ -283,9 +280,6 @@ class rpmSourcePackage(SourcePackage, rpmPackage):
self['sigchecksum'] = string.join(
map(lambda x: "%02x" % ord(x), self['sigchecksum']), '')
- def populateFromFile(self, file, relpath=None, org_id=None, channels=[]):
- return self._populateFromFile(file, relpath, org_id, channels, source=1)
-
class rpmFile(File, ChangeLog):
# Mapping from the attribute's names to rpm tags
tagMap = {
commit 0ffd09b60896eb7b277d36cbb0c718a2da05e8e0
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Fri Feb 25 14:11:05 2011 +0100
removed test for already removed createPackageFromFil()
diff --git a/backend/server/test/misc_functions.py b/backend/server/test/misc_functions.py
index b801422..19abd31 100644
--- a/backend/server/test/misc_functions.py
+++ b/backend/server/test/misc_functions.py
@@ -183,31 +183,6 @@ def listdir(directory):
packageList.append("%s/%s" % (directory, f))
return packageList
-def upload_packages( channel_label, directory, org_id = None, username = None, password = None, source = 0 ):
- #1. Get a list of packages
- filelist = listdir(directory)
- package_list = []
-
- package_from_file = server.importlib.headerSource.createPackageFromFile
- package_import = server.importlib.packageImport.packageImporter
-
- oracle_backend = server.importlib.backendOracle.OracleBackend()
- oracle_backend.init()
-
- #2. Turn them into package objects.
- for file in filelist:
- try:
- package = package_from_file( os.path.join( directory, file ), None, org_id, [channel_label], source = source )
- package_list.append(package)
- except:
- print file
- raise
-
- p = package_import( package_list, oracle_backend, source = source )
- p.run()
- if source == 0:
- p.subscribeToChannels()
-
#stolen from backend/server/test/unit-test/test_rhnChannel
def new_channel_dict( **kwargs):
_counter = 0
commit 366712626dbfc9120257dfec81063429be7fd4dc
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Fri Feb 25 14:17:31 2011 +0100
removed dead function createPackageFromFile()
diff --git a/backend/server/importlib/headerSource.py b/backend/server/importlib/headerSource.py
index 552e121..677b7b1 100644
--- a/backend/server/importlib/headerSource.py
+++ b/backend/server/importlib/headerSource.py
@@ -405,14 +405,3 @@ def createPackage(header, size, checksum_type, checksum, relpath, org_id, header
channels)
return p
-def createPackageFromFile(filePath, relpath, org_id, channels, source=0):
- """
- Returns a populated instance of rpmBinaryPackage or rpmSourcePackage
- """
- if source:
- p = rpmSourcePackage()
- else:
- p = rpmBinaryPackage()
-
- p.populateFromFile(filePath, relpath, org_id, channels)
- return p
commit 4b9bca4fe10a1d6ceaafb851cbd44af3389f33f9
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Fri Feb 25 14:11:05 2011 +0100
removed test for already removed create_channel_families()
diff --git a/backend/server/test/unit-test/test_rhnChannel.py b/backend/server/test/unit-test/test_rhnChannel.py
index cd02ea8..37d9aaa 100644
--- a/backend/server/test/unit-test/test_rhnChannel.py
+++ b/backend/server/test/unit-test/test_rhnChannel.py
@@ -123,21 +123,6 @@ class Tests(unittest.TestCase):
rhnSQL.commit()
return c
- def test_create_channel_families_1(self):
- """Tests rhnChannel.create_channel_families"""
- entries = []
- for i in range(5):
- vdict = self._new_channel_family_dict()
- entries.append(vdict)
-
- rhnChannel.create_channel_families(entries)
- rhnSQL.commit()
- for entry in entries:
- label = entry['label']
- c = rhnChannel.Channel().load_by_label(label)
- self.failIf(c.exists())
- return entries
-
def test_list_channel_families_1(self):
"""Tests rhnChannel.list_channel_families"""
channel_families = rhnChannel.list_channel_families()
commit b943f1ab7301fa64cf8d9de9e30f7fd16332ca5e
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Fri Feb 25 14:17:31 2011 +0100
removed dead function create_channel_families()
diff --git a/backend/server/rhnChannel.py b/backend/server/rhnChannel.py
index 5c80b2e..8ca0610 100644
--- a/backend/server/rhnChannel.py
+++ b/backend/server/rhnChannel.py
@@ -509,23 +509,6 @@ class ChannelFamily(BaseChannelObject):
_generic_fields = ['label', 'name', 'product_url']
-def create_channel_families(entries, update=0):
- if not isinstance(entries, ListType):
- raise InvalidEntryError(entries, "Not a list")
- mandatory_fields = ChannelFamily._generic_fields
- for e in entries:
- if not isinstance(e, DictType):
- raise InvalidEntryError(e, "Entry is not a dictionary")
-
- for f in mandatory_fields:
- if not e.has_key(f):
- raise InvalidEntryError(e, "Missing required field %s" % f)
-
- c = ChannelFamily()
- c.load_from_dict(e)
- c.save(with_updates=update)
-
-
def _load_by_id(query, item_object, pattern=None):
if pattern:
query += "and label like :pattern"
commit b81fef85bbe7814dabf4de01349a9096a8535ab9
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Fri Feb 25 14:11:05 2011 +0100
removed test for already removed create_channels()
diff --git a/backend/server/test/unit-test/test_rhnChannel.py b/backend/server/test/unit-test/test_rhnChannel.py
index 41e0e7e..cd02ea8 100644
--- a/backend/server/test/unit-test/test_rhnChannel.py
+++ b/backend/server/test/unit-test/test_rhnChannel.py
@@ -123,24 +123,6 @@ class Tests(unittest.TestCase):
rhnSQL.commit()
return c
- def test_create_channels_1(self):
- """Tests rhnChannel.create_channels"""
- vdict = self._new_channel_family_dict()
- cf = rhnChannel.ChannelFamily()
- cf.load_from_dict(vdict)
- cf.save()
-
- cf_label = cf.get_label()
-
- entries = []
- for i in range(5):
- vdict = self._new_channel_dict(channel_family=cf_label)
- entries.append(vdict)
-
- rhnChannel.create_channels(entries)
- rhnSQL.commit()
- return entries
-
def test_create_channel_families_1(self):
"""Tests rhnChannel.create_channel_families"""
entries = []
commit 5ff3794b9ca79e31efb29aa4000bd877981dedd8
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Fri Feb 25 14:17:31 2011 +0100
removed dead function create_channels()
diff --git a/backend/server/rhnChannel.py b/backend/server/rhnChannel.py
index 4fa1992..5c80b2e 100644
--- a/backend/server/rhnChannel.py
+++ b/backend/server/rhnChannel.py
@@ -509,28 +509,6 @@ class ChannelFamily(BaseChannelObject):
_generic_fields = ['label', 'name', 'product_url']
-def create_channels(entries, update=0):
- if not isinstance(entries, ListType):
- raise InvalidEntryError(entries, "Not a list")
- mandatory_fields = Channel._generic_fields + ['channel_arch']
- for e in entries:
- if not isinstance(e, DictType):
- raise InvalidEntryError(e, "Entry is not a dictionary")
-
- for f in mandatory_fields:
- if not e.has_key(f):
- raise InvalidEntryError(e, "Missing required field %s" % f)
-
- parent_channel = e.get('parent_channel')
- release = e.get('release')
- if parent_channel and not release:
- raise InvalidEntryError(e, "Attempting to create a base channel "
- "without a distribution release")
-
- c = Channel()
- c.load_from_dict(e)
- c.save(with_updates=update)
-
def create_channel_families(entries, update=0):
if not isinstance(entries, ListType):
raise InvalidEntryError(entries, "Not a list")
commit 3028e30d12750b6b3d70e88a5a04ad748de0d1da
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Fri Feb 25 14:17:31 2011 +0100
removed dead function dbiDate2timestamp()
diff --git a/backend/server/rhnServer/server_class.py b/backend/server/rhnServer/server_class.py
index 33c8e2c..a6ecce2 100644
--- a/backend/server/rhnServer/server_class.py
+++ b/backend/server/rhnServer/server_class.py
@@ -667,14 +667,6 @@ class Server(ServerWrapper):
log_debug(3, self.server["id"])
return server_lib.check_entitlement(self.server['id'])
-
-
- # Given a dbiDate object, returns the UNIX representation (seconds since
- # epoch)
- def dbiDate2timestamp(self, dateobj):
- timeString = '%s %s %s %s %s %s' % (dateobj.year, dateobj.month,
- dateobj.day, dateobj.hour, dateobj.minute, dateobj.second)
- return time.mktime(time.strptime(timeString, '%Y %m %d %H %M %S'))
def validateSatCert(self):
# make sure the cert is still valid
diff --git a/backend/server/rhnServer/server_lib.py b/backend/server/rhnServer/server_lib.py
index e47df37..a0725cf 100644
--- a/backend/server/rhnServer/server_lib.py
+++ b/backend/server/rhnServer/server_lib.py
@@ -272,13 +272,6 @@ def join_rhn(org_id):
""" Stub """
return
-def dbiDate2timestamp(dateobj):
- """ Given a dbiDate object, returns the UNIX representation (seconds since epoch) """
- timeString = '%s %s %s %s %s %s' % (dateobj.year, dateobj.month,
- dateobj.day, dateobj.hour, dateobj.minute, dateobj.second)
- return time.mktime(time.strptime(timeString, '%Y %m %d %H %M %S'))
-
-
def snapshot_server(server_id, reason):
if CFG.ENABLE_SNAPSHOTS:
return rhnSQL.Procedure("rhn_server.snapshot_server")(server_id, reason)
13 years, 1 month
Changes to 'refs/tags/spacewalk-backend-1.4.12-1'
by Michael Mraka
Tag 'spacewalk-backend-1.4.12-1' created by Michael Mraka <michael.mraka(a)redhat.com> at 2011-02-28 12:44 +0000
Tagging package [spacewalk-backend] version [1.4.12-1] in directory [backend/].
Changes since spacewalk-config-1.4.1-1:
Jan Pazdziora (1):
Adding the AS keyword to column aliases for PostgreSQL.
Michael Mraka (6):
Revert "use size instead of archivesize"
Revert "removing obsoleted code"
Revert "RPMTransaction is dead after RPMReadOnlyTransaction removal"
Revert "SharedStateTransaction is dead after RPMReadOnlyTransaction removal"
Revert "RPMReadOnlyTransaction() is dead after get_package_header() change"
Automatic commit of package [spacewalk-backend] release [1.4.12-1].
Miroslav Suchý (1):
use better macro
---
backend/server/importlib/headerSource.py | 4 -
backend/spacewalk-backend.spec | 4 +
backend/spacewalk/common/rhn_rpm.py | 89 +++++++++++++++++++++++++++++--
client/tools/rhnpush/rpm2mpm.py | 2
rel-eng/packages/spacewalk-backend | 2
spacewalk/config/spacewalk-config.spec | 2
web/modules/rhn/RHN/DB/ChannelEditor.pm | 2
7 files changed, 95 insertions(+), 10 deletions(-)
---
13 years, 1 month
backend/spacewalk-backend.spec rel-eng/packages
by Michael Mraka
backend/spacewalk-backend.spec | 4 +++-
rel-eng/packages/spacewalk-backend | 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)
New commits:
commit 45656cc9aa397bbe4ad5b3eb88d0220cfe42935c
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Mon Feb 28 13:44:20 2011 +0100
Automatic commit of package [spacewalk-backend] release [1.4.12-1].
diff --git a/backend/spacewalk-backend.spec b/backend/spacewalk-backend.spec
index 5fed5fc..a62a548 100644
--- a/backend/spacewalk-backend.spec
+++ b/backend/spacewalk-backend.spec
@@ -11,7 +11,7 @@ Name: spacewalk-backend
Summary: Common programs needed to be installed on the Spacewalk servers/proxies
Group: Applications/Internet
License: GPLv2 and Python
-Version: 1.4.11
+Version: 1.4.12
Release: 1%{?dist}
URL: https://fedorahosted.org/spacewalk
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -686,6 +686,8 @@ rm -f %{rhnconf}/rhnSecret.py*
# $Id$
%changelog
+* Mon Feb 28 2011 Michael Mraka <michael.mraka(a)redhat.com> 1.4.12-1
+- reverted bask to RHEL4 rpm read header code
* Thu Feb 24 2011 Michael Mraka <michael.mraka(a)redhat.com> 1.4.11-1
- RPMTransaction is dead after RPMReadOnlyTransaction removal
- SharedStateTransaction is dead after RPMReadOnlyTransaction removal
diff --git a/rel-eng/packages/spacewalk-backend b/rel-eng/packages/spacewalk-backend
index 75f875b..a9ad9b8 100644
--- a/rel-eng/packages/spacewalk-backend
+++ b/rel-eng/packages/spacewalk-backend
@@ -1 +1 @@
-1.4.11-1 backend/
+1.4.12-1 backend/
13 years, 1 month
5 commits - backend/server backend/spacewalk client/tools
by Michael Mraka
backend/server/importlib/headerSource.py | 4 -
backend/spacewalk/common/rhn_rpm.py | 89 +++++++++++++++++++++++++++++--
client/tools/rhnpush/rpm2mpm.py | 2
3 files changed, 89 insertions(+), 6 deletions(-)
New commits:
commit 0e857493a57f1db0457dceecf339a94c62b16618
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Mon Feb 28 13:23:06 2011 +0100
Revert "RPMReadOnlyTransaction() is dead after get_package_header() change"
This reverts commit 961035ad79a1d27d7e57b70bff762d60589f57cb.
diff --git a/backend/spacewalk/common/rhn_rpm.py b/backend/spacewalk/common/rhn_rpm.py
index 766cf61..86d89c7 100644
--- a/backend/spacewalk/common/rhn_rpm.py
+++ b/backend/spacewalk/common/rhn_rpm.py
@@ -113,6 +113,15 @@ class SharedStateTransaction:
def __init__(self):
self.__dict__ = self._shared_state
+class RPMReadOnlyTransaction(SharedStateTransaction, RPMTransaction):
+ read_only = 1
+ def __init__(self):
+ SharedStateTransaction.__init__(self)
+ if not hasattr(self, 'ts'):
+ RPMTransaction.__init__(self)
+ # FIXME: replace with macro defination
+ self.pushVSFlags(8)
+
class RPM_Header:
"Wrapper class for an rpm header - we need to store a flag is_source"
def __init__(self, hdr, is_source=None):
commit b8b418b60eed322ffa2e076ecdb4cf76aec53cc8
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Mon Feb 28 13:22:59 2011 +0100
Revert "SharedStateTransaction is dead after RPMReadOnlyTransaction removal"
This reverts commit 4c8961d665d9317eee3ffbbb4303e944df81c165.
diff --git a/backend/spacewalk/common/rhn_rpm.py b/backend/spacewalk/common/rhn_rpm.py
index 7f4f278..766cf61 100644
--- a/backend/spacewalk/common/rhn_rpm.py
+++ b/backend/spacewalk/common/rhn_rpm.py
@@ -107,6 +107,12 @@ class RPMTransaction:
+class SharedStateTransaction:
+ _shared_state = {}
+
+ def __init__(self):
+ self.__dict__ = self._shared_state
+
class RPM_Header:
"Wrapper class for an rpm header - we need to store a flag is_source"
def __init__(self, hdr, is_source=None):
commit 3bb32e8540393a7fd5cb088cea7499bae4f71106
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Mon Feb 28 13:22:52 2011 +0100
Revert "RPMTransaction is dead after RPMReadOnlyTransaction removal"
This reverts commit 8c3b360efb9fcbc8f2d4a91feff0ae954cef330a.
diff --git a/backend/spacewalk/common/rhn_rpm.py b/backend/spacewalk/common/rhn_rpm.py
index 3c3a9ed..7f4f278 100644
--- a/backend/spacewalk/common/rhn_rpm.py
+++ b/backend/spacewalk/common/rhn_rpm.py
@@ -55,6 +55,58 @@ PGPHASHALGO = {
class InvalidPackageError(Exception):
pass
+class RPMTransaction:
+ """ wrapper/proxy class for rpm.Transaction so we can instrument it, etc easily """
+ read_only = 0
+ def __init__(self):
+ self.ts = rpm.TransactionSet()
+ self.tsflags = []
+
+ def getMethod(self, method):
+ # in theory, we can override this with
+ # profile/etc info
+ return getattr(self.ts, method)
+
+ def pushVSFlags(self, flags):
+ """ push method, so we don't lose the previous set value, and we can potentially debug a bit easier """
+ self.tsflags.append(flags)
+ self.ts.setVSFlags(self.tsflags[-1])
+
+ def popVSFlags(self):
+ """ pop method, so we don't lose the previous set value, and we can potentially debug a bit easier """
+ del self.tsflags[-1]
+ self.ts.setVSFlags(self.tsflags[-1])
+
+ def addInstall(self, arg1, arg2, mode):
+ """Install a package"""
+ hdr = arg1.hdr
+ return self.ts.addInstall(hdr, arg2, mode)
+
+ def addErase(self, arg1):
+ """Erase a package"""
+ hdr = arg1.hdr
+ return self.ts.addErase(hdr)
+
+ def check(self):
+ """Check dependencies"""
+ return self.ts.check()
+
+ def setFlags(self, flag):
+ """Set transaction flags"""
+ return self.ts.setFlags(flag)
+
+ def setProbFilter(self, flag):
+ """Set problem flags"""
+ return self.ts.setProbFilter(flag)
+
+ def run(self, callback, user_data):
+ return self.ts.run(callback, user_data)
+
+ def hdrFromFdno(self, fd):
+ return self.ts.hdrFromFdno(fd)
+
+
+
class RPM_Header:
"Wrapper class for an rpm header - we need to store a flag is_source"
def __init__(self, hdr, is_source=None):
commit 37374340a97156be8b109c20a6782774fed1c7e0
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Mon Feb 28 13:21:31 2011 +0100
Revert "removing obsoleted code"
This reverts commit f32d1af0ad802f3e4f3f9ed6a519d7580702ae8d.
diff --git a/backend/spacewalk/common/rhn_rpm.py b/backend/spacewalk/common/rhn_rpm.py
index 7940a79..3c3a9ed 100644
--- a/backend/spacewalk/common/rhn_rpm.py
+++ b/backend/spacewalk/common/rhn_rpm.py
@@ -195,9 +195,25 @@ def get_package_header(filename=None, file=None, fd=None):
else:
file_desc = f.fileno()
- header_start, header_end = get_header_byte_range(os.fdopen(os.dup(file_desc)))
- os.lseek(file_desc, header_start, 0)
- hdr, offset = rpm.readHeaderFromFD(file_desc)
+# FIXME:
+ if None:
+ pass
+# - readHeaderFromFD() doesn't set hdr['archivesize'] which makes payload_size = 0
+# for all imported packages
+# - this code was introduced as a fix of bz 487621; if it re-appears then uncomment
+# and try to fix missing hdr['archivesize'] another way
+# #if hasattr(rpm, 'readHeaderFromFD'):
+#
+# header_start, header_end = \
+# get_header_byte_range(os.fdopen(os.dup(file_desc)))
+# os.lseek(file_desc, header_start, 0)
+# hdr, offset = rpm.readHeaderFromFD(file_desc)
+ else:
+ # RHEL-4 and older, do the old way
+ ts = RPMReadOnlyTransaction()
+ ts.pushVSFlags(~(rpm.RPMVSF_NOMD5 | rpm.RPMVSF_NEEDPAYLOAD))
+ hdr = ts.hdrFromFdno(file_desc)
+ ts.popVSFlags()
if hdr is None:
raise InvalidPackageError
is_source = hdr[rpm.RPMTAG_SOURCEPACKAGE]
commit 9edb70f8ae56457c02745cc5bebfc6402277fa16
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Mon Feb 28 13:21:23 2011 +0100
Revert "use size instead of archivesize"
This reverts commit c34ece4eca1f0480b41a5e6198c3870d1b836981.
diff --git a/backend/server/importlib/headerSource.py b/backend/server/importlib/headerSource.py
index e763914..552e121 100644
--- a/backend/server/importlib/headerSource.py
+++ b/backend/server/importlib/headerSource.py
@@ -120,7 +120,7 @@ class rpmBinaryPackage(Package, rpmPackage):
tagMap.update({
'package_group' : 'group',
'rpm_version' : 'rpmversion',
- 'payload_size' : 'size',
+ 'payload_size' : 'archivesize',
'payload_format': 'payloadformat',
'build_host' : 'buildhost',
'build_time' : 'buildtime',
@@ -248,7 +248,7 @@ class rpmSourcePackage(SourcePackage, rpmPackage):
tagMap.update({
'package_group' : 'group',
'rpm_version' : 'rpmversion',
- 'payload_size' : 'size',
+ 'payload_size' : 'archivesize',
'build_host' : 'buildhost',
'build_time' : 'buildtime',
'source_rpm' : 'sourcerpm',
diff --git a/client/tools/rhnpush/rpm2mpm.py b/client/tools/rhnpush/rpm2mpm.py
index 16eb601..1c80b78 100644
--- a/client/tools/rhnpush/rpm2mpm.py
+++ b/client/tools/rhnpush/rpm2mpm.py
@@ -47,7 +47,7 @@ def rpm_to_mpm(header, file_stream):
tag_map = {
'package_group' : 'group',
'rpm_version' : 'rpmversion',
- 'payload_size' : 'size',
+ 'payload_size' : 'archivesize',
'payload_format': 'payloadformat',
'build_host' : 'buildhost',
'build_time' : 'buildtime',
13 years, 1 month
web/modules
by Jan Pazdziora
web/modules/rhn/RHN/DB/ChannelEditor.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit 94e4ee1b730becd24c9285752fad9dcb790954ab
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Mon Feb 28 12:19:06 2011 +0100
Adding the AS keyword to column aliases for PostgreSQL.
Addressing
RHN::Exception: DBD::Pg::st execute failed: ERROR: syntax error at or near "NAME" at character 26
diff --git a/web/modules/rhn/RHN/DB/ChannelEditor.pm b/web/modules/rhn/RHN/DB/ChannelEditor.pm
index f89e71c..ec6a43f 100644
--- a/web/modules/rhn/RHN/DB/ChannelEditor.pm
+++ b/web/modules/rhn/RHN/DB/ChannelEditor.pm
@@ -157,7 +157,7 @@ sub channels_visible_to_org {
my $sth;
$query = <<EOQ;
-SELECT ACh.channel_name NAME, ACh.channel_id ID, ACh.channel_depth DEPTH, C.org_id CHANNEL_ORG_ID
+SELECT ACh.channel_name as NAME, ACh.channel_id as ID, ACh.channel_depth as DEPTH, C.org_id as CHANNEL_ORG_ID
FROM rhnAvailableChannels ACh, rhnChannel C
WHERE ACh.org_id = :org_id
AND C.id = ACh.channel_id
13 years, 1 month
spacewalk/config
by Miroslav Suchý
spacewalk/config/spacewalk-config.spec | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit 75410183c21dc9433458aac06ce02ae39ff6f1d0
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Mon Feb 28 09:05:56 2011 +0100
use better macro
diff --git a/spacewalk/config/spacewalk-config.spec b/spacewalk/config/spacewalk-config.spec
index e40e4c5..8966162 100644
--- a/spacewalk/config/spacewalk-config.spec
+++ b/spacewalk/config/spacewalk-config.spec
@@ -80,7 +80,7 @@ rm -rf $RPM_BUILD_ROOT
%attr(0755,root,root) %{_prefix}/share/rhn/satidmap.pl
%attr(0755,root,root) %{_prefix}/share/rhn/startup.pl
%doc LICENSE
-%doc %{_prefix}/share/man/man5/rhn.conf.5*
+%doc %{_mandir}/man5/rhn.conf.5*
%pre
# This section is needed here because previous versions of spacewalk-config
13 years, 2 months