Skip to content

Commit

Permalink
Merge branch 'uyuni-project:master' into qe-get-rid-of-tools-pool
Browse files Browse the repository at this point in the history
  • Loading branch information
srbarrios authored Jan 31, 2025
2 parents 5a821c1 + e0ec57b commit 5c9ea09
Show file tree
Hide file tree
Showing 472 changed files with 11,009 additions and 1,502 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build_containers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
labels: ${{ steps.meta.outputs.labels }}
build-args: |
BASE=registry.opensuse.org/uyuni/server
VERSION=2024.08
VERSION=2024.12
build-and-push-ubuntu-minion-image:
runs-on: ubuntu-latest
permissions:
Expand Down
2 changes: 1 addition & 1 deletion client/rhel/spacewalk-client-tools/po/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ INSTALL_DATA = ${INSTALL} -m 644

GMSGFMT = /usr/bin/msgfmt
MSGFMT = /usr/bin/msgfmt
MSGMERGE = /usr/bin/msgmerge --previous --no-wrap
MSGMERGE = /usr/bin/msgmerge --previous

INCLUDES = -I.. -I$(top_srcdir)/intl

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Allow translation to wrap strings as weblate force it
4 changes: 3 additions & 1 deletion java/buildconf/checkstyle.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,9 @@
<!-- Checks for imports -->
<!-- See http://checkstyle.sf.net/config_import.html -->
<module name="AvoidStarImport"/>
<module name="IllegalImport"/> <!-- defaults to sun.* packages -->
<module name="IllegalImport">
<property name="illegalClasses" value="org.hibernate.Criteria"/>
</module>
<module name="RedundantImport"/>
<module name="UnusedImports">
<property name="processJavadoc" value="true"/>
Expand Down
265 changes: 178 additions & 87 deletions java/code/src/com/redhat/rhn/common/hibernate/AnnotationRegistry.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,21 @@
*/
package com.redhat.rhn.common.hibernate;

import com.redhat.rhn.domain.channel.AccessToken;
import com.redhat.rhn.domain.channel.AppStream;
import com.redhat.rhn.domain.channel.AppStreamApi;
import com.redhat.rhn.domain.channel.AppStreamApiKey;
import com.redhat.rhn.domain.channel.Channel;
import com.redhat.rhn.domain.channel.ChannelArch;
import com.redhat.rhn.domain.channel.ChannelSyncFlag;
import com.redhat.rhn.domain.channel.ClonedChannel;
import com.redhat.rhn.domain.cloudpayg.CloudRmtHost;
import com.redhat.rhn.domain.cloudpayg.PaygCredentialsProduct;
import com.redhat.rhn.domain.cloudpayg.PaygSshData;
import com.redhat.rhn.domain.common.ProvisionState;
import com.redhat.rhn.domain.config.ConfigChannel;
import com.redhat.rhn.domain.config.ConfigChannelType;
import com.redhat.rhn.domain.config.ConfigFile;
import com.redhat.rhn.domain.contentmgmt.ContentEnvironment;
import com.redhat.rhn.domain.contentmgmt.ContentFilter;
import com.redhat.rhn.domain.contentmgmt.ContentProject;
Expand Down Expand Up @@ -53,8 +62,17 @@
import com.redhat.rhn.domain.image.ImageStoreType;
import com.redhat.rhn.domain.image.KiwiProfile;
import com.redhat.rhn.domain.image.ProfileCustomDataValue;
import com.redhat.rhn.domain.kickstart.crypto.CryptoKey;
import com.redhat.rhn.domain.kickstart.crypto.CryptoKeyType;
import com.redhat.rhn.domain.kickstart.crypto.SslCryptoKey;
import com.redhat.rhn.domain.notification.NotificationMessage;
import com.redhat.rhn.domain.notification.UserNotification;
import com.redhat.rhn.domain.org.Org;
import com.redhat.rhn.domain.org.OrgAdminManagement;
import com.redhat.rhn.domain.org.OrgConfig;
import com.redhat.rhn.domain.org.TemplateString;
import com.redhat.rhn.domain.org.usergroup.UserGroupImpl;
import com.redhat.rhn.domain.org.usergroup.UserGroupMembers;
import com.redhat.rhn.domain.product.ChannelTemplate;
import com.redhat.rhn.domain.recurringactions.GroupRecurringAction;
import com.redhat.rhn.domain.recurringactions.MinionRecurringAction;
Expand All @@ -64,17 +82,21 @@
import com.redhat.rhn.domain.recurringactions.state.RecurringInternalState;
import com.redhat.rhn.domain.recurringactions.type.RecurringHighstate;
import com.redhat.rhn.domain.recurringactions.type.RecurringState;
import com.redhat.rhn.domain.rhnpackage.PackageArch;
import com.redhat.rhn.domain.rhnpackage.PackageBreaks;
import com.redhat.rhn.domain.rhnpackage.PackageCapability;
import com.redhat.rhn.domain.rhnpackage.PackageConflicts;
import com.redhat.rhn.domain.rhnpackage.PackageEnhances;
import com.redhat.rhn.domain.rhnpackage.PackageExtraTagsKeys;
import com.redhat.rhn.domain.rhnpackage.PackageFile;
import com.redhat.rhn.domain.rhnpackage.PackageObsoletes;
import com.redhat.rhn.domain.rhnpackage.PackagePreDepends;
import com.redhat.rhn.domain.rhnpackage.PackageProvides;
import com.redhat.rhn.domain.rhnpackage.PackageRecommends;
import com.redhat.rhn.domain.rhnpackage.PackageRequires;
import com.redhat.rhn.domain.rhnpackage.PackageSuggests;
import com.redhat.rhn.domain.rhnpackage.PackageSupplements;
import com.redhat.rhn.domain.role.RoleImpl;
import com.redhat.rhn.domain.scc.SCCOrderItem;
import com.redhat.rhn.domain.scc.SCCRegCacheItem;
import com.redhat.rhn.domain.scc.SCCRepository;
Expand All @@ -84,14 +106,37 @@
import com.redhat.rhn.domain.scc.SCCRepositoryNoAuth;
import com.redhat.rhn.domain.scc.SCCRepositoryTokenAuth;
import com.redhat.rhn.domain.scc.SCCSubscription;
import com.redhat.rhn.domain.server.Capability;
import com.redhat.rhn.domain.server.ClientCapability;
import com.redhat.rhn.domain.server.ClientCapabilityId;
import com.redhat.rhn.domain.server.CustomDataValue;
import com.redhat.rhn.domain.server.EntitlementServerGroup;
import com.redhat.rhn.domain.server.InstalledPackage;
import com.redhat.rhn.domain.server.ManagedServerGroup;
import com.redhat.rhn.domain.server.MinionServer;
import com.redhat.rhn.domain.server.MinionServerFactory;
import com.redhat.rhn.domain.server.MinionSummary;
import com.redhat.rhn.domain.server.NetworkInterface;
import com.redhat.rhn.domain.server.Pillar;
import com.redhat.rhn.domain.server.Server;
import com.redhat.rhn.domain.server.ServerAppStream;
import com.redhat.rhn.domain.server.ServerGroup;
import com.redhat.rhn.domain.server.ServerGroupType;
import com.redhat.rhn.domain.server.ServerPath;
import com.redhat.rhn.domain.server.ServerPathId;
import com.redhat.rhn.domain.server.ansible.AnsiblePath;
import com.redhat.rhn.domain.server.ansible.InventoryPath;
import com.redhat.rhn.domain.server.ansible.PlaybookPath;
import com.redhat.rhn.domain.server.virtualhostmanager.VirtualHostManagerNodeInfo;
import com.redhat.rhn.domain.task.Task;
import com.redhat.rhn.domain.token.Token;
import com.redhat.rhn.domain.token.TokenChannelAppStream;
import com.redhat.rhn.domain.user.AddressImpl;
import com.redhat.rhn.domain.user.StateChange;
import com.redhat.rhn.domain.user.legacy.PersonalInfo;
import com.redhat.rhn.domain.user.legacy.UserImpl;
import com.redhat.rhn.domain.user.legacy.UserInfo;
import com.redhat.rhn.manager.system.ServerGroupManager;

import com.suse.cloud.domain.PaygDimensionComputation;
import com.suse.cloud.domain.PaygDimensionResult;
Expand All @@ -117,93 +162,139 @@ private AnnotationRegistry() {
}

private static final List<Class<?>> ANNOTATION_CLASSES = List.of(
ImageStore.class,
ImageStoreType.class,
DockerfileProfile.class,
KiwiProfile.class,
ImageProfile.class,
ProfileCustomDataValue.class,
DeltaImageInfo.class,
ImageFile.class,
ImageInfo.class,
ImageInfoCustomDataValue.class,
ImageOverview.class,
ImagePackage.class,
ImageRepoDigest.class,
VirtualHostManagerNodeInfo.class,
NotificationMessage.class,
UserNotification.class,
SCCRepository.class,
SCCSubscription.class,
SCCOrderItem.class,
ChannelTemplate.class,
SCCRepositoryAuth.class,
SCCRepositoryNoAuth.class,
SCCRepositoryBasicAuth.class,
SCCRepositoryTokenAuth.class,
SCCRepositoryCloudRmtAuth.class,
ContentProject.class,
ContentEnvironment.class,
ProjectSource.class,
SoftwareProjectSource.class,
ContentFilter.class,
ContentProjectFilter.class,
PackageFilter.class,
ErrataFilter.class,
ModuleFilter.class,
PtfFilter.class,
EnvironmentTarget.class,
SoftwareEnvironmentTarget.class,
ContentProjectHistoryEntry.class,
PackageExtraTagsKeys.class,
PackageProvides.class,
PackageRequires.class,
PackageRecommends.class,
PackageObsoletes.class,
PackageBreaks.class,
PackageSupplements.class,
PackageConflicts.class,
PackageSuggests.class,
PackagePreDepends.class,
PackageEnhances.class,
MinionRecurringAction.class,
GroupRecurringAction.class,
OrgRecurringAction.class,
MaintenanceSchedule.class,
MaintenanceCalendar.class,
SCCRegCacheItem.class,
AnsiblePath.class,
InventoryPath.class,
PlaybookPath.class,
Pillar.class,
CloudRmtHost.class,
PaygSshData.class,
PaygCredentialsProduct.class,
Task.class,
RecurringHighstate.class,
RecurringState.class,
RecurringConfigChannel.class,
RecurringInternalState.class,
InternalState.class,
PaygDimensionComputation.class,
PaygDimensionResult.class,
BaseCredentials.class,
CloudRMTCredentials.class,
RegistryCredentials.class,
ReportDBCredentials.class,
RHUICredentials.class,
SCCCredentials.class,
VHMCredentials.class,
ChannelSyncFlag.class,
ServerCoCoAttestationConfig.class,
ServerCoCoAttestationReport.class,
CoCoEnvironmentTypeConverter.class,
CoCoAttestationResult.class,
CoCoResultTypeConverter.class,
ServerAppStream.class,
AppStream.class,
AppStreamApi.class,
TokenChannelAppStream.class
// do not add class at the endi, but keep the alphabetical order
AccessToken.class,
AddressImpl.class,
AnsiblePath.class,
AppStreamApi.class,
AppStreamApiKey.class,
AppStream.class,
BaseCredentials.class,
Capability.class,
ChannelArch.class,
Channel.class,
ChannelSyncFlag.class,
ChannelTemplate.class,
ClientCapability.class,
ClientCapabilityId.class,
ClonedChannel.class,
CloudRMTCredentials.class,
CloudRmtHost.class,
CoCoAttestationResult.class,
CoCoEnvironmentTypeConverter.class,
CoCoResultTypeConverter.class,
ConfigChannel.class,
ConfigChannelType.class,
ConfigFile.class,
ContentEnvironment.class,
ContentFilter.class,
ContentProject.class,
ContentProjectFilter.class,
ContentProjectHistoryEntry.class,
CryptoKey.class,
CryptoKeyType.class,
CustomDataValue.class,
DeltaImageInfo.class,
DockerfileProfile.class,
EntitlementServerGroup.class,
EnvironmentTarget.class,
ErrataFilter.class,
GroupRecurringAction.class,
ImageFile.class,
ImageInfo.class,
ImageInfoCustomDataValue.class,
ImageOverview.class,
ImagePackage.class,
ImageProfile.class,
ImageRepoDigest.class,
ImageStore.class,
ImageStoreType.class,
InstalledPackage.class,
InternalState.class,
InventoryPath.class,
KiwiProfile.class,
MaintenanceCalendar.class,
MaintenanceSchedule.class,
ManagedServerGroup.class,
MinionRecurringAction.class,
MinionServer.class,
MinionServerFactory.class,
MinionSummary.class,
ModuleFilter.class,
NetworkInterface.class,
NotificationMessage.class,
OrgAdminManagement.class,
Org.class,
OrgConfig.class,
OrgRecurringAction.class,
PackageArch.class,
PackageBreaks.class,
PackageCapability.class,
PackageConflicts.class,
PackageEnhances.class,
PackageExtraTagsKeys.class,
PackageFile.class,
PackageFilter.class,
PackageObsoletes.class,
PackagePreDepends.class,
PackageProvides.class,
PackageRecommends.class,
PackageRequires.class,
PackageSuggests.class,
PackageSupplements.class,
PaygCredentialsProduct.class,
PaygDimensionComputation.class,
PaygDimensionResult.class,
PaygSshData.class,
PersonalInfo.class,
Pillar.class,
PlaybookPath.class,
ProfileCustomDataValue.class,
ProjectSource.class,
ProvisionState.class,
PtfFilter.class,
RecurringConfigChannel.class,
RecurringHighstate.class,
RecurringInternalState.class,
RecurringState.class,
RegistryCredentials.class,
ReportDBCredentials.class,
RHUICredentials.class,
RoleImpl.class,
SCCCredentials.class,
SCCOrderItem.class,
SCCRegCacheItem.class,
SCCRepositoryAuth.class,
SCCRepositoryBasicAuth.class,
SCCRepository.class,
SCCRepositoryCloudRmtAuth.class,
SCCRepositoryNoAuth.class,
SCCRepositoryTokenAuth.class,
SCCSubscription.class,
ServerAppStream.class,
Server.class,
ServerCoCoAttestationConfig.class,
ServerCoCoAttestationReport.class,
ServerGroup.class,
ServerGroupManager.class,
ServerGroupType.class,
ServerPath.class,
ServerPathId.class,
SoftwareEnvironmentTarget.class,
SoftwareProjectSource.class,
SslCryptoKey.class,
StateChange.class,
Task.class,
TemplateString.class,
TokenChannelAppStream.class,
Token.class,
UserGroupImpl.class,
UserGroupMembers.class,
UserImpl.class,
UserInfo.class,
UserNotification.class,
VHMCredentials.class,
VirtualHostManagerNodeInfo.class
);

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.hibernate.EmptyInterceptor;
import org.hibernate.type.StringType;
import org.hibernate.type.Type;

import java.io.Serializable;
Expand Down Expand Up @@ -59,8 +58,7 @@ protected static boolean emptyStringToNull(Object entity, Serializable id,
boolean modified = false;

for (int i = 0; i < types.length; i++) {
// type is string (VARCHAR) and state is empty string
if ((types[i] instanceof StringType) && "".equals(state[i])) {
if ("".equals(state[i])) {
if (LOG.isDebugEnabled()) {
LOG.debug("Object {} is setting empty string {}", entity.getClass().getCanonicalName(),
propertyNames[i]);
Expand Down
2 changes: 2 additions & 0 deletions java/code/src/com/redhat/rhn/common/messaging/SmtpMail.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import org.apache.logging.log4j.Logger;

import java.io.IOException;
import java.util.Date;
import java.util.Enumeration;
import java.util.LinkedList;
import java.util.List;
Expand Down Expand Up @@ -142,6 +143,7 @@ public void setFrom(String from) {
public void send() {

try {
message.setSentDate(new Date());
Address[] addrs = message.getRecipients(RecipientType.TO);
if (addrs == null || addrs.length == 0) {
log.warn("Aborting mail message {}: No recipients", message.getSubject());
Expand Down
Loading

0 comments on commit 5c9ea09

Please sign in to comment.