diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..f087b42 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.tar.gz filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1534ba5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +*.rpm +*.log +*spec-20* diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..ccb53bb --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +# Makefile for source rpm: smolt +# $Id: Makefile,v 1.1 2016/02/07 21:21:22 stephdl Exp $ +NAME := smolt +SPECFILE = $(firstword $(wildcard *.spec)) + +define find-makefile-common +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +endef + +MAKEFILE_COMMON := $(shell $(find-makefile-common)) + +ifeq ($(MAKEFILE_COMMON),) +# attept a checkout +define checkout-makefile-common +test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 +endef + +MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) +endif + +include $(MAKEFILE_COMMON) diff --git a/README.md b/README.md index bb6e485..4250650 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,11 @@ # smolt -3rd Party (Maintained by Koozali) git repo for smolt smeserver \ No newline at end of file +3rd Party (Maintained by Koozali) git repo for smolt smeserver + +## Description + +
*This description has been generated by an LLM AI system and cannot be relied on to be fully correct.* +*Once it has been checked, then this comment will be deleted* +
+ +Smolt is a Linux hardware profiling tool used to collect information about a system's hardware so that it can be shared to a central server. It provides a detailed hardware profile of the system, including the processor type and speed, amount of memory, network cards, hard drive, graphics card, etc. It can also help users to find suitable drivers for hardware components. It is used to maintain a database of all the hardware profiles and can be used to identify the hardware that is used in a particular system. diff --git a/contriborbase b/contriborbase new file mode 100644 index 0000000..ef36a67 --- /dev/null +++ b/contriborbase @@ -0,0 +1 @@ +sme10 diff --git a/smolt-1.4.3-ddl.patch b/smolt-1.4.3-ddl.patch new file mode 100644 index 0000000..653aaee --- /dev/null +++ b/smolt-1.4.3-ddl.patch @@ -0,0 +1,638 @@ +diff -ruN smolt-1.4.3.ddl/smoon/smoon.ddl.sql smolt-1.4.3/smoon/smoon.ddl.sql +--- smolt-1.4.3.ddl/smoon/smoon.ddl.sql 2010-02-27 12:05:44.000000000 -0700 ++++ smolt-1.4.3/smoon/smoon.ddl.sql 2010-01-14 09:32:24.000000000 -0700 +@@ -1,8 +1,8 @@ +--- MySQL dump 10.10 ++-- MySQL dump 10.11 + -- + -- Host: localhost Database: smolt + -- ------------------------------------------------------ +--- Server version 5.0.22-log ++-- Server version 5.0.77-log + + /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; + /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +@@ -16,24 +16,22 @@ + /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + + -- +--- Table structure for table `ARCH` ++-- Temporary table structure for view `ARCH` + -- + + DROP TABLE IF EXISTS `ARCH`; + /*!50001 DROP VIEW IF EXISTS `ARCH`*/; +-/*!50001 DROP TABLE IF EXISTS `ARCH`*/; + /*!50001 CREATE TABLE `ARCH` ( + `platform` varchar(16), + `cnt` bigint(21) +-) */; ++) ENGINE=MyISAM */; + + -- +--- Table structure for table `CLASS` ++-- Temporary table structure for view `CLASS` + -- + + DROP TABLE IF EXISTS `CLASS`; + /*!50001 DROP VIEW IF EXISTS `CLASS`*/; +-/*!50001 DROP TABLE IF EXISTS `CLASS`*/; + /*!50001 CREATE TABLE `CLASS` ( + `description` varchar(128), + `bus` varchar(8), +@@ -45,204 +43,194 @@ + `date_added` datetime, + `class` varchar(40), + `cnt` bigint(21) +-) */; ++) ENGINE=MyISAM */; + + -- +--- Table structure for table `CPU_VENDOR` ++-- Temporary table structure for view `CPU_VENDOR` + -- + + DROP TABLE IF EXISTS `CPU_VENDOR`; + /*!50001 DROP VIEW IF EXISTS `CPU_VENDOR`*/; +-/*!50001 DROP TABLE IF EXISTS `CPU_VENDOR`*/; + /*!50001 CREATE TABLE `CPU_VENDOR` ( + `cpu_vendor` varchar(32), + `cnt` bigint(21) +-) */; ++) ENGINE=MyISAM */; + + -- +--- Table structure for table `FILESYSTEMS` ++-- Temporary table structure for view `FILESYSTEMS` + -- + + DROP TABLE IF EXISTS `FILESYSTEMS`; + /*!50001 DROP VIEW IF EXISTS `FILESYSTEMS`*/; +-/*!50001 DROP TABLE IF EXISTS `FILESYSTEMS`*/; + /*!50001 CREATE TABLE `FILESYSTEMS` ( + `fs_type` varchar(16), + `cnt` bigint(21) +-) */; ++) ENGINE=MyISAM */; + + -- +--- Table structure for table `FORMFACTOR` ++-- Temporary table structure for view `FORMFACTOR` + -- + + DROP TABLE IF EXISTS `FORMFACTOR`; + /*!50001 DROP VIEW IF EXISTS `FORMFACTOR`*/; +-/*!50001 DROP TABLE IF EXISTS `FORMFACTOR`*/; + /*!50001 CREATE TABLE `FORMFACTOR` ( + `formfactor` varchar(32), + `cnt` bigint(21) +-) */; ++) ENGINE=MyISAM */; + + -- +--- Table structure for table `KERNEL_VERSION` ++-- Temporary table structure for view `KERNEL_VERSION` + -- + + DROP TABLE IF EXISTS `KERNEL_VERSION`; + /*!50001 DROP VIEW IF EXISTS `KERNEL_VERSION`*/; +-/*!50001 DROP TABLE IF EXISTS `KERNEL_VERSION`*/; + /*!50001 CREATE TABLE `KERNEL_VERSION` ( + `kernel_version` varchar(32), + `cnt` bigint(21) +-) */; ++) ENGINE=MyISAM */; + + -- +--- Table structure for table `LANGUAGE` ++-- Temporary table structure for view `LANGUAGE` + -- + + DROP TABLE IF EXISTS `LANGUAGE`; + /*!50001 DROP VIEW IF EXISTS `LANGUAGE`*/; +-/*!50001 DROP TABLE IF EXISTS `LANGUAGE`*/; + /*!50001 CREATE TABLE `LANGUAGE` ( +- `language` varchar(8), ++ `language` varchar(15), + `cnt` bigint(21) +-) */; ++) ENGINE=MyISAM */; + + -- +--- Table structure for table `NUM_CPUS` ++-- Temporary table structure for view `NUM_CPUS` + -- + + DROP TABLE IF EXISTS `NUM_CPUS`; + /*!50001 DROP VIEW IF EXISTS `NUM_CPUS`*/; +-/*!50001 DROP TABLE IF EXISTS `NUM_CPUS`*/; + /*!50001 CREATE TABLE `NUM_CPUS` ( + `num_cpus` int(11), + `cnt` bigint(21) +-) */; ++) ENGINE=MyISAM */; + + -- +--- Table structure for table `OS` ++-- Temporary table structure for view `OS` + -- + + DROP TABLE IF EXISTS `OS`; + /*!50001 DROP VIEW IF EXISTS `OS`*/; +-/*!50001 DROP TABLE IF EXISTS `OS`*/; + /*!50001 CREATE TABLE `OS` ( + `os` varchar(32), + `cnt` bigint(21) +-) */; ++) ENGINE=MyISAM */; + + -- +--- Table structure for table `RUNLEVEL` ++-- Temporary table structure for view `RUNLEVEL` + -- + + DROP TABLE IF EXISTS `RUNLEVEL`; + /*!50001 DROP VIEW IF EXISTS `RUNLEVEL`*/; +-/*!50001 DROP TABLE IF EXISTS `RUNLEVEL`*/; + /*!50001 CREATE TABLE `RUNLEVEL` ( + `default_runlevel` int(11), + `cnt` bigint(21) +-) */; ++) ENGINE=MyISAM */; + + -- +--- Table structure for table `SELINUX_ENABLED` ++-- Temporary table structure for view `SELINUX_ENABLED` + -- + + DROP TABLE IF EXISTS `SELINUX_ENABLED`; + /*!50001 DROP VIEW IF EXISTS `SELINUX_ENABLED`*/; +-/*!50001 DROP TABLE IF EXISTS `SELINUX_ENABLED`*/; + /*!50001 CREATE TABLE `SELINUX_ENABLED` ( +- `enabled` tinyint(2), ++ `enabled` tinyint(1), + `cnt` bigint(21) +-) */; ++) ENGINE=MyISAM */; + + -- +--- Table structure for table `SELINUX_ENFORCE` ++-- Temporary table structure for view `SELINUX_ENFORCE` + -- + + DROP TABLE IF EXISTS `SELINUX_ENFORCE`; + /*!50001 DROP VIEW IF EXISTS `SELINUX_ENFORCE`*/; +-/*!50001 DROP TABLE IF EXISTS `SELINUX_ENFORCE`*/; + /*!50001 CREATE TABLE `SELINUX_ENFORCE` ( +- `enforce` varchar(20), ++ `enforce` varchar(25), + `cnt` bigint(21) +-) */; ++) ENGINE=MyISAM */; + + -- +--- Table structure for table `SELINUX_POLICY` ++-- Temporary table structure for view `SELINUX_POLICY` + -- + + DROP TABLE IF EXISTS `SELINUX_POLICY`; + /*!50001 DROP VIEW IF EXISTS `SELINUX_POLICY`*/; +-/*!50001 DROP TABLE IF EXISTS `SELINUX_POLICY`*/; + /*!50001 CREATE TABLE `SELINUX_POLICY` ( +- `policy` varchar(20), ++ `policy` varchar(25), + `cnt` bigint(21) +-) */; ++) ENGINE=MyISAM */; + + -- +--- Table structure for table `SYSTEM` ++-- Temporary table structure for view `SYSTEM` + -- + + DROP TABLE IF EXISTS `SYSTEM`; + /*!50001 DROP VIEW IF EXISTS `SYSTEM`*/; +-/*!50001 DROP TABLE IF EXISTS `SYSTEM`*/; + /*!50001 CREATE TABLE `SYSTEM` ( + `system` varchar(96), + `cnt` bigint(21) +-) */; ++) ENGINE=MyISAM */; + + -- +--- Table structure for table `TOTALLIST` ++-- Temporary table structure for view `TOTALLIST` + -- + + DROP TABLE IF EXISTS `TOTALLIST`; + /*!50001 DROP VIEW IF EXISTS `TOTALLIST`*/; +-/*!50001 DROP TABLE IF EXISTS `TOTALLIST`*/; + /*!50001 CREATE TABLE `TOTALLIST` ( + `description` varchar(128), + `cnt` bigint(21) +-) */; ++) ENGINE=MyISAM */; + + -- +--- Table structure for table `UNIQUELIST` ++-- Temporary table structure for view `UNIQUELIST` + -- + + DROP TABLE IF EXISTS `UNIQUELIST`; + /*!50001 DROP VIEW IF EXISTS `UNIQUELIST`*/; +-/*!50001 DROP TABLE IF EXISTS `UNIQUELIST`*/; + /*!50001 CREATE TABLE `UNIQUELIST` ( + `description` varchar(128), + `cnt` bigint(21) +-) */; ++) ENGINE=MyISAM */; + + -- +--- Table structure for table `VENDOR` ++-- Temporary table structure for view `VENDOR` + -- + + DROP TABLE IF EXISTS `VENDOR`; + /*!50001 DROP VIEW IF EXISTS `VENDOR`*/; +-/*!50001 DROP TABLE IF EXISTS `VENDOR`*/; + /*!50001 CREATE TABLE `VENDOR` ( + `vendor` varchar(96), + `cnt` bigint(21) +-) */; ++) ENGINE=MyISAM */; + + -- + -- Table structure for table `classes` + -- + + DROP TABLE IF EXISTS `classes`; ++SET @saved_cs_client = @@character_set_client; ++SET character_set_client = utf8; + CREATE TABLE `classes` ( + `class` varchar(40) character set latin1 NOT NULL, + `description` varchar(64) character set latin1 default NULL, + PRIMARY KEY (`class`) + ) ENGINE=MyISAM DEFAULT CHARSET=utf8; ++SET character_set_client = @saved_cs_client; + + -- + -- Table structure for table `device` + -- + + DROP TABLE IF EXISTS `device`; ++SET @saved_cs_client = @@character_set_client; ++SET character_set_client = utf8; + CREATE TABLE `device` ( + `id` int(11) NOT NULL auto_increment, + `description` varchar(128) character set latin1 NOT NULL default '', +@@ -256,35 +244,40 @@ + `subsys_vendor_id` int(11) default NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `description` USING BTREE (`description`,`device_id`,`vendor_id`,`subsys_device_id`,`subsys_vendor_id`), +- KEY `class` (`class`), +- KEY `class_2` (`class`) +-) ENGINE=MyISAM DEFAULT CHARSET=utf8; ++ KEY `class` (`class`) ++) ENGINE=MyISAM AUTO_INCREMENT=237139 DEFAULT CHARSET=utf8; ++SET character_set_client = @saved_cs_client; + + -- + -- Table structure for table `fas_link` + -- + + DROP TABLE IF EXISTS `fas_link`; ++SET @saved_cs_client = @@character_set_client; ++SET character_set_client = utf8; + CREATE TABLE `fas_link` ( + `id` int(11) NOT NULL auto_increment, + `uuid` varchar(36) default NULL, + `user_name` varchar(255) NOT NULL, + PRIMARY KEY (`id`) + ) ENGINE=MyISAM DEFAULT CHARSET=latin1; ++SET character_set_client = @saved_cs_client; + + -- + -- Table structure for table `file_systems` + -- + + DROP TABLE IF EXISTS `file_systems`; ++SET @saved_cs_client = @@character_set_client; ++SET character_set_client = utf8; + CREATE TABLE `file_systems` ( + `id` bigint(20) NOT NULL auto_increment, + `host_id` int(11) default NULL, + `mnt_pnt` varchar(64) default NULL, + `fs_type` varchar(16) default NULL, + `f_favail` int(11) default NULL, +- `f_bsize` int(11) default NULL, +- `f_frsize` int(11) default NULL, ++ `f_bsize` bigint(20) default NULL, ++ `f_frsize` bigint(20) default NULL, + `f_blocks` int(11) default NULL, + `f_bfree` int(11) default NULL, + `f_bavail` int(11) default NULL, +@@ -292,14 +285,18 @@ + `f_ffree` int(11) default NULL, + `f_fssize` bigint(24) default NULL, + PRIMARY KEY (`id`), +- KEY `host_id` (`host_id`) +-) ENGINE=MyISAM DEFAULT CHARSET=utf8; ++ KEY `host_id` (`host_id`), ++ KEY `fs_join_index` (`host_id`,`fs_type`) ++) ENGINE=MyISAM AUTO_INCREMENT=6147005 DEFAULT CHARSET=utf8; ++SET character_set_client = @saved_cs_client; + + -- + -- Table structure for table `host` + -- + + DROP TABLE IF EXISTS `host`; ++SET @saved_cs_client = @@character_set_client; ++SET character_set_client = utf8; + CREATE TABLE `host` ( + `id` int(11) NOT NULL auto_increment, + `uuid` varchar(36) NOT NULL, +@@ -312,29 +309,37 @@ + `vendor` varchar(96) character set latin1 default NULL, + `system` varchar(96) character set latin1 default NULL, + `cpu_vendor` varchar(32) character set latin1 default NULL, +- `cpu_model` varchar(32) character set latin1 default NULL, ++ `cpu_model` varchar(80) default NULL, + `num_cpus` int(11) default NULL, + `cpu_speed` double default NULL, +- `language` varchar(8) character set latin1 default NULL, ++ `language` varchar(15) default NULL, + `default_runlevel` int(11) default NULL, + `kernel_version` varchar(32) character set latin1 default NULL, + `formfactor` varchar(32) character set latin1 default NULL, + `last_modified` datetime NOT NULL default '0000-00-00 00:00:00', + `rating` int(11) NOT NULL default '0', +- `selinux_enabled` tinyint(2) NOT NULL default '-1', +- `selinux_policy` varchar(20) default NULL, +- `selinux_enforce` varchar(20) default NULL, ++ `selinux_enabled` tinyint(1) NOT NULL default '0', ++ `selinux_policy` varchar(25) default NULL, ++ `selinux_enforce` varchar(25) default NULL, ++ `cpu_stepping` int(11) default NULL, ++ `cpu_family` int(11) default NULL, ++ `cpu_model_num` int(11) default NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `u_u_id` (`uuid`), + KEY `platform` (`platform`), +- KEY `pub_uuid` (`pub_uuid`) +-) ENGINE=MyISAM DEFAULT CHARSET=utf8; ++ KEY `pub_uuid` (`pub_uuid`), ++ KEY `last_modified` (`last_modified`), ++ KEY `last_modified_join` (`id`,`last_modified`) ++) ENGINE=InnoDB AUTO_INCREMENT=1735597 DEFAULT CHARSET=utf8; ++SET character_set_client = @saved_cs_client; + + -- + -- Table structure for table `host_links` + -- + + DROP TABLE IF EXISTS `host_links`; ++SET @saved_cs_client = @@character_set_client; ++SET character_set_client = utf8; + CREATE TABLE `host_links` ( + `id` int(11) NOT NULL auto_increment, + `host_link_id` int(11) default NULL, +@@ -342,177 +347,180 @@ + `rating` int(11) NOT NULL default '0', + PRIMARY KEY (`id`), + KEY `host_link_id` (`host_link_id`), +- KEY `device_id` (`device_id`) +-) ENGINE=MyISAM DEFAULT CHARSET=utf8; ++ KEY `device_id` (`device_id`), ++ KEY `rating` (`rating`,`device_id`), ++ KEY `device_host_link` (`device_id`,`host_link_id`) ++) ENGINE=MyISAM AUTO_INCREMENT=112099123 DEFAULT CHARSET=utf8; ++SET character_set_client = @saved_cs_client; + + -- +--- View structure for view `ARCH` ++-- Final view structure for view `ARCH` + -- + +-/*!50001 DROP TABLE IF EXISTS `ARCH`*/; ++/*!50001 DROP TABLE `ARCH`*/; + /*!50001 DROP VIEW IF EXISTS `ARCH`*/; + /*!50001 CREATE ALGORITHM=UNDEFINED */ +-/*!50013 DEFINER=`smoon`@`localhost` SQL SECURITY DEFINER */ ++/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */ + /*!50001 VIEW `ARCH` AS select `host`.`platform` AS `platform`,count(`host`.`platform`) AS `cnt` from `host` group by `host`.`platform` order by count(`host`.`platform`) desc */; + + -- +--- View structure for view `CLASS` ++-- Final view structure for view `CLASS` + -- + +-/*!50001 DROP TABLE IF EXISTS `CLASS`*/; ++/*!50001 DROP TABLE `CLASS`*/; + /*!50001 DROP VIEW IF EXISTS `CLASS`*/; + /*!50001 CREATE ALGORITHM=UNDEFINED */ +-/*!50013 DEFINER=`smoon`@`localhost` SQL SECURITY DEFINER */ ++/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */ + /*!50001 VIEW `CLASS` AS select `device`.`description` AS `description`,`device`.`bus` AS `bus`,`device`.`driver` AS `driver`,`device`.`vendor_id` AS `vendor_id`,`device`.`device_id` AS `device_id`,`device`.`subsys_vendor_id` AS `subsys_vendor_id`,`device`.`subsys_device_id` AS `subsys_device_id`,`device`.`date_added` AS `date_added`,`device`.`class` AS `class`,count(distinct `host_links`.`host_link_id`) AS `cnt` from (`host_links` join `device`) where (`host_links`.`device_id` = `device`.`id`) group by `host_links`.`device_id` order by count(distinct `host_links`.`host_link_id`) desc */; + + -- +--- View structure for view `CPU_VENDOR` ++-- Final view structure for view `CPU_VENDOR` + -- + +-/*!50001 DROP TABLE IF EXISTS `CPU_VENDOR`*/; ++/*!50001 DROP TABLE `CPU_VENDOR`*/; + /*!50001 DROP VIEW IF EXISTS `CPU_VENDOR`*/; + /*!50001 CREATE ALGORITHM=UNDEFINED */ +-/*!50013 DEFINER=`smoon`@`localhost` SQL SECURITY DEFINER */ ++/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */ + /*!50001 VIEW `CPU_VENDOR` AS select `host`.`cpu_vendor` AS `cpu_vendor`,count(`host`.`cpu_vendor`) AS `cnt` from `host` group by `host`.`cpu_vendor` order by count(`host`.`cpu_vendor`) desc */; + + -- +--- View structure for view `FILESYSTEMS` ++-- Final view structure for view `FILESYSTEMS` + -- + +-/*!50001 DROP TABLE IF EXISTS `FILESYSTEMS`*/; ++/*!50001 DROP TABLE `FILESYSTEMS`*/; + /*!50001 DROP VIEW IF EXISTS `FILESYSTEMS`*/; + /*!50001 CREATE ALGORITHM=UNDEFINED */ +-/*!50013 DEFINER=`smoon`@`localhost` SQL SECURITY DEFINER */ ++/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */ + /*!50001 VIEW `FILESYSTEMS` AS select `file_systems`.`fs_type` AS `fs_type`,count(`file_systems`.`fs_type`) AS `cnt` from `file_systems` group by `file_systems`.`fs_type` order by count(`file_systems`.`fs_type`) desc */; + + -- +--- View structure for view `FORMFACTOR` ++-- Final view structure for view `FORMFACTOR` + -- + +-/*!50001 DROP TABLE IF EXISTS `FORMFACTOR`*/; ++/*!50001 DROP TABLE `FORMFACTOR`*/; + /*!50001 DROP VIEW IF EXISTS `FORMFACTOR`*/; + /*!50001 CREATE ALGORITHM=UNDEFINED */ +-/*!50013 DEFINER=`smoon`@`localhost` SQL SECURITY DEFINER */ ++/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */ + /*!50001 VIEW `FORMFACTOR` AS select `host`.`formfactor` AS `formfactor`,count(`host`.`formfactor`) AS `cnt` from `host` group by `host`.`formfactor` order by count(`host`.`formfactor`) desc */; + + -- +--- View structure for view `KERNEL_VERSION` ++-- Final view structure for view `KERNEL_VERSION` + -- + +-/*!50001 DROP TABLE IF EXISTS `KERNEL_VERSION`*/; ++/*!50001 DROP TABLE `KERNEL_VERSION`*/; + /*!50001 DROP VIEW IF EXISTS `KERNEL_VERSION`*/; + /*!50001 CREATE ALGORITHM=UNDEFINED */ +-/*!50013 DEFINER=`smoon`@`localhost` SQL SECURITY DEFINER */ ++/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */ + /*!50001 VIEW `KERNEL_VERSION` AS select `host`.`kernel_version` AS `kernel_version`,count(`host`.`kernel_version`) AS `cnt` from `host` group by `host`.`kernel_version` order by count(`host`.`kernel_version`) desc */; + + -- +--- View structure for view `LANGUAGE` ++-- Final view structure for view `LANGUAGE` + -- + +-/*!50001 DROP TABLE IF EXISTS `LANGUAGE`*/; ++/*!50001 DROP TABLE `LANGUAGE`*/; + /*!50001 DROP VIEW IF EXISTS `LANGUAGE`*/; + /*!50001 CREATE ALGORITHM=UNDEFINED */ +-/*!50013 DEFINER=`smoon`@`localhost` SQL SECURITY DEFINER */ ++/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */ + /*!50001 VIEW `LANGUAGE` AS select `host`.`language` AS `language`,count(`host`.`language`) AS `cnt` from `host` group by `host`.`language` order by count(`host`.`language`) desc */; + + -- +--- View structure for view `NUM_CPUS` ++-- Final view structure for view `NUM_CPUS` + -- + +-/*!50001 DROP TABLE IF EXISTS `NUM_CPUS`*/; ++/*!50001 DROP TABLE `NUM_CPUS`*/; + /*!50001 DROP VIEW IF EXISTS `NUM_CPUS`*/; + /*!50001 CREATE ALGORITHM=UNDEFINED */ +-/*!50013 DEFINER=`smoon`@`localhost` SQL SECURITY DEFINER */ ++/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */ + /*!50001 VIEW `NUM_CPUS` AS select `host`.`num_cpus` AS `num_cpus`,count(`host`.`num_cpus`) AS `cnt` from `host` group by `host`.`num_cpus` order by count(`host`.`num_cpus`) desc */; + + -- +--- View structure for view `OS` ++-- Final view structure for view `OS` + -- + +-/*!50001 DROP TABLE IF EXISTS `OS`*/; ++/*!50001 DROP TABLE `OS`*/; + /*!50001 DROP VIEW IF EXISTS `OS`*/; + /*!50001 CREATE ALGORITHM=UNDEFINED */ +-/*!50013 DEFINER=`smoon`@`localhost` SQL SECURITY DEFINER */ ++/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */ + /*!50001 VIEW `OS` AS select `host`.`os` AS `os`,count(`host`.`os`) AS `cnt` from `host` group by `host`.`os` order by count(`host`.`os`) desc */; + + -- +--- View structure for view `RUNLEVEL` ++-- Final view structure for view `RUNLEVEL` + -- + +-/*!50001 DROP TABLE IF EXISTS `RUNLEVEL`*/; ++/*!50001 DROP TABLE `RUNLEVEL`*/; + /*!50001 DROP VIEW IF EXISTS `RUNLEVEL`*/; + /*!50001 CREATE ALGORITHM=UNDEFINED */ +-/*!50013 DEFINER=`smoon`@`localhost` SQL SECURITY DEFINER */ ++/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */ + /*!50001 VIEW `RUNLEVEL` AS select `host`.`default_runlevel` AS `default_runlevel`,count(`host`.`default_runlevel`) AS `cnt` from `host` group by `host`.`default_runlevel` order by count(`host`.`default_runlevel`) desc */; + + -- +--- View structure for view `SELINUX_ENABLED` ++-- Final view structure for view `SELINUX_ENABLED` + -- + +-/*!50001 DROP TABLE IF EXISTS `SELINUX_ENABLED`*/; ++/*!50001 DROP TABLE `SELINUX_ENABLED`*/; + /*!50001 DROP VIEW IF EXISTS `SELINUX_ENABLED`*/; + /*!50001 CREATE ALGORITHM=UNDEFINED */ +-/*!50013 DEFINER=`smoon`@`localhost` SQL SECURITY DEFINER */ ++/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */ + /*!50001 VIEW `SELINUX_ENABLED` AS select `host`.`selinux_enabled` AS `enabled`,count(`host`.`selinux_enabled`) AS `cnt` from `host` group by `host`.`selinux_enabled` order by count(`host`.`selinux_enabled`) desc */; + + -- +--- View structure for view `SELINUX_ENFORCE` ++-- Final view structure for view `SELINUX_ENFORCE` + -- + +-/*!50001 DROP TABLE IF EXISTS `SELINUX_ENFORCE`*/; ++/*!50001 DROP TABLE `SELINUX_ENFORCE`*/; + /*!50001 DROP VIEW IF EXISTS `SELINUX_ENFORCE`*/; + /*!50001 CREATE ALGORITHM=UNDEFINED */ +-/*!50013 DEFINER=`smoon`@`localhost` SQL SECURITY DEFINER */ ++/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */ + /*!50001 VIEW `SELINUX_ENFORCE` AS select `host`.`selinux_enforce` AS `enforce`,count(`host`.`selinux_enforce`) AS `cnt` from `host` group by `host`.`selinux_enforce` order by count(`host`.`selinux_enforce`) desc */; + + -- +--- View structure for view `SELINUX_POLICY` ++-- Final view structure for view `SELINUX_POLICY` + -- + +-/*!50001 DROP TABLE IF EXISTS `SELINUX_POLICY`*/; ++/*!50001 DROP TABLE `SELINUX_POLICY`*/; + /*!50001 DROP VIEW IF EXISTS `SELINUX_POLICY`*/; + /*!50001 CREATE ALGORITHM=UNDEFINED */ +-/*!50013 DEFINER=`smoon`@`localhost` SQL SECURITY DEFINER */ ++/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */ + /*!50001 VIEW `SELINUX_POLICY` AS select `host`.`selinux_policy` AS `policy`,count(`host`.`selinux_policy`) AS `cnt` from `host` group by `host`.`selinux_policy` order by count(`host`.`selinux_policy`) desc */; + + -- +--- View structure for view `SYSTEM` ++-- Final view structure for view `SYSTEM` + -- + +-/*!50001 DROP TABLE IF EXISTS `SYSTEM`*/; ++/*!50001 DROP TABLE `SYSTEM`*/; + /*!50001 DROP VIEW IF EXISTS `SYSTEM`*/; + /*!50001 CREATE ALGORITHM=UNDEFINED */ +-/*!50013 DEFINER=`smoon`@`localhost` SQL SECURITY DEFINER */ ++/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */ + /*!50001 VIEW `SYSTEM` AS select `host`.`system` AS `system`,count(`host`.`system`) AS `cnt` from `host` where ((`host`.`system` <> _latin1'Unknown') and (`host`.`system` <> _latin1'')) group by `host`.`system` order by count(`host`.`system`) desc */; + + -- +--- View structure for view `TOTALLIST` ++-- Final view structure for view `TOTALLIST` + -- + +-/*!50001 DROP TABLE IF EXISTS `TOTALLIST`*/; ++/*!50001 DROP TABLE `TOTALLIST`*/; + /*!50001 DROP VIEW IF EXISTS `TOTALLIST`*/; + /*!50001 CREATE ALGORITHM=UNDEFINED */ +-/*!50013 DEFINER=`smoon`@`localhost` SQL SECURITY DEFINER */ ++/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */ + /*!50001 VIEW `TOTALLIST` AS select `device`.`description` AS `description`,count(`host_links`.`device_id`) AS `cnt` from (`host_links` join `device`) where (`host_links`.`device_id` = `device`.`id`) group by `host_links`.`device_id` order by count(`host_links`.`device_id`) desc */; + + -- +--- View structure for view `UNIQUELIST` ++-- Final view structure for view `UNIQUELIST` + -- + +-/*!50001 DROP TABLE IF EXISTS `UNIQUELIST`*/; ++/*!50001 DROP TABLE `UNIQUELIST`*/; + /*!50001 DROP VIEW IF EXISTS `UNIQUELIST`*/; + /*!50001 CREATE ALGORITHM=UNDEFINED */ +-/*!50013 DEFINER=`smoon`@`localhost` SQL SECURITY DEFINER */ ++/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */ + /*!50001 VIEW `UNIQUELIST` AS select `device`.`description` AS `description`,count(distinct `host_links`.`host_link_id`) AS `cnt` from (`host_links` join `device`) where (`host_links`.`device_id` = `device`.`id`) group by `host_links`.`device_id` order by count(distinct `host_links`.`host_link_id`) desc */; + + -- +--- View structure for view `VENDOR` ++-- Final view structure for view `VENDOR` + -- + +-/*!50001 DROP TABLE IF EXISTS `VENDOR`*/; ++/*!50001 DROP TABLE `VENDOR`*/; + /*!50001 DROP VIEW IF EXISTS `VENDOR`*/; + /*!50001 CREATE ALGORITHM=UNDEFINED */ +-/*!50013 DEFINER=`smoon`@`localhost` SQL SECURITY DEFINER */ ++/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */ + /*!50001 VIEW `VENDOR` AS select `host`.`vendor` AS `vendor`,count(`host`.`vendor`) AS `cnt` from `host` where ((`host`.`vendor` <> _latin1'Unknown') and (`host`.`vendor` <> _latin1'')) group by `host`.`vendor` order by count(`host`.`vendor`) desc */; + /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +@@ -524,3 +532,4 @@ + /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; + /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + ++-- Dump completed on 2010-01-14 16:33:44 diff --git a/smolt-1.4.3-el5.patch b/smolt-1.4.3-el5.patch new file mode 100644 index 0000000..ef0ca8b --- /dev/null +++ b/smolt-1.4.3-el5.patch @@ -0,0 +1,104 @@ +diff -ruN smolt-1.4.3.el5/client/smolt.py smolt-1.4.3/client/smolt.py +--- smolt-1.4.3.el5/client/smolt.py 2010-02-27 12:05:44.000000000 -0700 ++++ smolt-1.4.3/client/smolt.py 2010-03-03 17:37:30.000000000 -0700 +@@ -35,6 +35,7 @@ + import dbus + import software + import os ++import commands + import urlgrabber.grabber + import sys + from urlparse import urljoin +@@ -436,6 +437,57 @@ + if Gate().grants('devices'): + self.devices[udi] = Device(props, self) + if udi == '/org/freedesktop/Hal/devices/computer': ++ try: ++ vendor = props['system.vendor'] ++ if len(vendor.strip()) == 0: ++ vendor = None ++ except KeyError: ++ try: ++ vendor = props['vendor'] ++ if len(vendor.strip()) == 0: ++ vendor = None ++ except KeyError: ++ vendor = None ++ try: ++ product = props['system.product'] ++ if len(product.strip()) == 0: ++ product = None ++ except KeyError: ++ try: ++ product = props['product'] ++ if len(product.strip()) == 0: ++ product = None ++ except KeyError: ++ product = None ++ if vendor is None or product is None: ++ i, dmiOutput, e = os.popen3("/usr/sbin/dmidecode", "r") ++ section = None ++ sysvendor = None ++ sysproduct = None ++ boardvendor = None ++ boardproduct = None ++ for line in dmiOutput: ++ line = line.strip() ++ if "Information" in line: ++ section = line ++ elif section is None: ++ continue ++ elif line.startswith("Manufacturer: ") and section.startswith("System"): ++ sysvendor = line.split("Manufacturer: ", 1)[1] ++ elif line.startswith("Product Name: ") and section.startswith("System"): ++ sysproduct = line.split("Product Name: ", 1)[1] ++ elif line.startswith("Manufacturer: ") and section.startswith("Base Board"): ++ boardvendor = line.split("Manufacturer: ", 1)[1] ++ elif line.startswith("Product Name: ") and section.startswith("Base Board"): ++ boardproduct = line.split("Product Name: ", 1)[1] ++ status = dmiOutput.close() ++ if status is None: ++ if sysvendor not in (None, 'System Manufacturer') and sysproduct not in (None, 'System Name'): ++ props['system.vendor'] = sysvendor ++ props['system.product'] = sysproduct ++ elif boardproduct is not None and boardproduct is not None: ++ props['system.vendor'] = boardvendor ++ props['system.product'] = boardproduct + self.host = Host(props) + + self.fss = get_file_systems() +@@ -515,14 +567,14 @@ + def write_pub_uuid(self,smoonURL,pub_uuid): + smoonURLparsed=urlparse(smoonURL) + try: +- UuidDb().set_pub_uuid(getUUID(), smoonURLparsed.hostname, pub_uuid) ++ UuidDb().set_pub_uuid(getUUID(), smoonURLparsed[1], pub_uuid) + except Exception, e: + sys.stderr.write(_('\tYour pub_uuid could not be written.\n\n')) + return + + def write_admin_token(self,smoonURL,admin,admin_token_file): + smoonURLparsed=urlparse(smoonURL) +- admin_token_file += ("-"+smoonURLparsed.hostname) ++ admin_token_file += ("-"+smoonURLparsed[1]) + try: + file(admin_token_file, 'w').write(admin) + except Exception, e: +@@ -1211,7 +1263,7 @@ + + def getPubUUID(user_agent=user_agent, smoonURL=smoonURL, timeout=timeout): + smoonURLparsed=urlparse(smoonURL) +- res = UuidDb().get_pub_uuid(getUUID(), smoonURLparsed.hostname) ++ res = UuidDb().get_pub_uuid(getUUID(), smoonURLparsed[1]) + if res: + return res + +@@ -1220,7 +1272,7 @@ + o = grabber.urlopen(urljoin(smoonURL + "/", '/client/pub_uuid/%s' % getUUID())) + pudict = simplejson.loads(o.read()) + o.close() +- UuidDb().set_pub_uuid(getUUID(), smoonURLparsed.hostname, pudict["pub_uuid"]) ++ UuidDb().set_pub_uuid(getUUID(), smoonURLparsed[1], pudict["pub_uuid"]) + return pudict["pub_uuid"] + except Exception, e: + error(_('Error determining public UUID: %s') % e) diff --git a/smolt-1.4.3-mod_proxy.patch b/smolt-1.4.3-mod_proxy.patch new file mode 100644 index 0000000..483de43 --- /dev/null +++ b/smolt-1.4.3-mod_proxy.patch @@ -0,0 +1,60 @@ +diff -up smolt-1.4.3/smoon/hardware/templates/report_device_ratings.html.mod_proxy smolt-1.4.3/smoon/hardware/templates/report_device_ratings.html +--- smolt-1.4.3/smoon/hardware/templates/report_device_ratings.html.mod_proxy 2010-02-27 12:05:44.000000000 -0700 ++++ smolt-1.4.3/smoon/hardware/templates/report_device_ratings.html 2010-03-06 15:07:03.000000000 -0700 +@@ -23,7 +23,7 @@ + ${_("Rating")}${_("Device Name")}${_("Ratings")} + + +- ${device.description} ++ ${device.description} + ${device[2]} + + +diff -up smolt-1.4.3/smoon/hardware/templates/report_recent.html.mod_proxy smolt-1.4.3/smoon/hardware/templates/report_recent.html +--- smolt-1.4.3/smoon/hardware/templates/report_recent.html.mod_proxy 2010-02-27 12:05:44.000000000 -0700 ++++ smolt-1.4.3/smoon/hardware/templates/report_recent.html 2010-03-06 15:01:35.000000000 -0700 +@@ -24,7 +24,7 @@ + + + +- ++ + + +
${_('Description')}${_('Date Added')}
${devices.description}${devices.description}${devices.date_added}
+diff -up smolt-1.4.3/smoon/hardware/templates/report_view_device.html.mod_proxy smolt-1.4.3/smoon/hardware/templates/report_view_device.html +--- smolt-1.4.3/smoon/hardware/templates/report_view_device.html.mod_proxy 2010-02-27 12:05:44.000000000 -0700 ++++ smolt-1.4.3/smoon/hardware/templates/report_view_device.html 2010-03-06 15:01:59.000000000 -0700 +@@ -28,7 +28,7 @@ + + + +- ++ + + + +diff -up smolt-1.4.3/smoon/hardware/templates/report_view_devices.html.mod_proxy smolt-1.4.3/smoon/hardware/templates/report_view_devices.html +--- smolt-1.4.3/smoon/hardware/templates/report_view_devices.html.mod_proxy 2010-02-27 12:05:44.000000000 -0700 ++++ smolt-1.4.3/smoon/hardware/templates/report_view_devices.html 2010-03-06 15:09:32.000000000 -0700 +@@ -27,7 +27,7 @@ +
${_("Description")}${_("Rating")}${_("Rating Count")}${_("Vendor:Device:Subvend:Subdevice")}
${device.description}${device.description}${device[1]}${device.vendor_id}:${device.device_id}:${device.subsys_vendor_id}:${device.subsys_device_id}
+ + +- ++ + + + +diff -up smolt-1.4.3/smoon/hardware/templates/show.html.mod_proxy smolt-1.4.3/smoon/hardware/templates/show.html +--- smolt-1.4.3/smoon/hardware/templates/show.html.mod_proxy 2010-02-27 12:05:44.000000000 -0700 ++++ smolt-1.4.3/smoon/hardware/templates/show.html 2010-03-06 15:05:07.000000000 -0700 +@@ -64,7 +64,7 @@ ${ET(ratingwidget.display(update="rating +
+
${device.get('rating')}
+ +- ++ + + +
${_("Description")}${_("Rating")}${_("Rating Count")}
${device.description}${device.description}${device[1]}
${device.get('name')} (${_("wiki")})${device.get('name')} (${_("wiki")})${device.get('cls')}
diff --git a/smolt-1.4.3-sme.patch b/smolt-1.4.3-sme.patch new file mode 100644 index 0000000..bcb5fdb --- /dev/null +++ b/smolt-1.4.3-sme.patch @@ -0,0 +1,54 @@ +diff -ruN smolt-1.4.3.sme/client/config.py smolt-1.4.3/client/config.py +--- smolt-1.4.3.sme/client/config.py 2010-02-27 12:05:44.000000000 -0700 ++++ smolt-1.4.3/client/config.py 2010-03-03 17:37:55.000000000 -0700 +@@ -3,7 +3,7 @@ + import commands + import os_detect + +-SMOON_URL = "http://www.smolts.org/" ++SMOON_URL = "http://smolt.contribs.org/" + SECURE = 0 + + +diff -ruN smolt-1.4.3.sme/client/os_detect.py smolt-1.4.3/client/os_detect.py +--- smolt-1.4.3.sme/client/os_detect.py 2010-02-27 12:05:44.000000000 -0700 ++++ smolt-1.4.3/client/os_detect.py 2010-03-03 17:37:55.000000000 -0700 +@@ -56,6 +56,7 @@ + + + distro_info= odict() ++distro_info['SME Server']='/etc/e-smith-release' + distro_info['Blag Linux']='/etc/blag-release' + distro_info['MythVantage']='/etc/mythvantage-release' + distro_info['Knoppmyth']='/etc/KnoppMyth-version' +diff -ruN smolt-1.4.3.sme/client/smolt.py smolt-1.4.3/client/smolt.py +--- smolt-1.4.3.sme/client/smolt.py 2010-03-03 17:37:30.000000000 -0700 ++++ smolt-1.4.3/client/smolt.py 2010-03-03 17:37:55.000000000 -0700 +@@ -60,7 +60,7 @@ + SELINUX_WITHHELD = -1 + + fs_types = get_config_attr("FS_TYPES", ["ext2", "ext3", "xfs", "reiserfs"]) +-fs_mounts = dict.fromkeys(get_config_attr("FS_MOUNTS", ["/", "/home", "/etc", "/var", "/boot"]), True) ++fs_mounts = dict.fromkeys(get_config_attr("FS_MOUNTS", ["/", "/home", "/home/e-smith/files", "/home/e-smith/files/ibays", "/home/e-smith/files/users", "/etc", "/var", "/boot", "/tmp"]), True) + fs_m_filter = get_config_attr("FS_M_FILTER", False) + fs_t_filter = get_config_attr("FS_T_FILTER", False) + +@@ -437,6 +437,9 @@ + if Gate().grants('devices'): + self.devices[udi] = Device(props, self) + if udi == '/org/freedesktop/Hal/devices/computer': ++ status, systemType = commands.getstatusoutput("/sbin/e-smith/config gettype SystemMode") ++ if status == 0: ++ props['system.formfactor'] = systemType + try: + vendor = props['system.vendor'] + if len(vendor.strip()) == 0: +diff -up smolt-1.4.3.sme/client/smolt.cron.monthly smolt-1.4.3/client/smolt.cron.monthly +--- smolt-1.4.3.sme/client/smolt.cron.monthly 2010-02-27 12:05:44.000000000 -0700 ++++ smolt-1.4.3/client/smolt.cron.monthly 2010-03-06 09:49:28.000000000 -0700 +@@ -2,4 +2,4 @@ + # Please note that calling with -c will cause smolt to pause a random amount of + # time between 0 and 3 days before actually sending, this is to prevent ddos on + # the server +-20 1 1 * * smolt /usr/bin/smoltSendProfile -c > /dev/null 2>&1 ++20 1 1 * * root /usr/bin/smoltSendProfile -c > /dev/null 2>&1 diff --git a/smolt-1.4.3.tar.gz b/smolt-1.4.3.tar.gz new file mode 100644 index 0000000..3fa413b --- /dev/null +++ b/smolt-1.4.3.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:45420929169bae45787737370b199d165f52d5c4ae91f322ccb34f92f326a23a +size 754184 diff --git a/smolt.spec b/smolt.spec new file mode 100644 index 0000000..68f0757 --- /dev/null +++ b/smolt.spec @@ -0,0 +1,470 @@ +# $Id: smolt.spec,v 1.1 2016/02/07 21:21:22 stephdl Exp $ + +Name: smolt + +Summary: SME Server hardware profiler +Version: 1.4.3 +Release: 5%{?dist} +License: GPLv2+ +Group: Applications/Internet +URL: http://fedorahosted.org/smolt +Source: https://fedorahosted.org/releases/s/m/%{name}/%{name}-%{version}.tar.gz +Patch0: smolt-1.4.3-ddl.patch +Patch1: smolt-1.4.3-el5.patch +Patch2: smolt-1.4.3-mod_proxy.patch +Patch3: smolt-1.4.3-sme.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Requires: dbus-python, python-urlgrabber, gawk, python-paste, hal, python-ctypes +BuildArch: noarch +BuildRequires: gettext +BuildRequires: desktop-file-utils + +Requires(pre): %{_sbindir}/groupadd +Requires(pre): %{_sbindir}/useradd +Requires(post): /sbin/chkconfig +Requires(preun): /sbin/chkconfig +Requires(preun): /sbin/service +Requires(postun): /sbin/service +Requires: python-simplejson + +%description +The SME Server hardware profiler is a server-client system that does a hardware +scan against a machine and sends the results to a public SME Server Project +turbogears server. The sends are anonymous and should not contain any private +information other than the physical hardware information and basic OS info. + +This package contains the client + +%package server +Summary: SME Server hardware profiler server +Group: Applications/Internet +Requires: smolt = %{version}-%{release} +Requires: python-genshi +Requires: python-crypto +Requires: TurboGears mx +Requires: python-turboflot + +%description server +The SME Server hardware profiler is a server-client system that does a hardware +scan against a machine and sends the results to a public SME Server Project +turbogears server. The sends are anonymous and should not contain any private +information other than the physical hardware information and basic OS info. + +This package contains the server portion + +%package firstboot +Summary: SME Server hardware profile firstboot +Group: Applications/Internet +Requires: smolt = %{version}-%{release} + +%description firstboot +This provides firstboot integration for smolt. It has been broken into a +separate package so firstboot isn't a requisite to use smolt. + +%package gui +Summary: SME Server hardware profiler gui +Group: Applications/Internet +Requires: smolt = %{version}-%{release} +Requires: PyQt4 + +%description gui +Provides smolt's gui functionality. Not included in the default package to +ensure that deps are kept small. + +%prep +%setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 + +%build +cd client/ +make + +%install +%{__rm} -rf %{buildroot} +cd client +DESTDIR=%{buildroot} make install +cd .. +%{__install} -d -m 0755 smoon/ %{buildroot}/%{_datadir}/%{name}/smoon/ +%{__mkdir} -p %{buildroot}/%{_mandir}/man1/ +%{__cp} -adv smoon/* %{buildroot}/%{_datadir}/%{name}/smoon/ +%{__cp} client/scan.py %{buildroot}/%{_datadir}/%{name}/client/ +%{__cp} client/gate.py %{buildroot}/%{_datadir}/%{name}/client/ +%{__cp} client/os_detect.py %{buildroot}/%{_datadir}/%{name}/client/ +%{__cp} client/fs_util.py %{buildroot}/%{_datadir}/%{name}/client/ +%{__cp} client/man/* %{buildroot}/%{_mandir}/man1/ + +%{__mkdir} -p %{buildroot}/%{_sysconfdir}/sysconfig/ +%{__mkdir} -p %{buildroot}/%{_datadir}/firstboot/modules/ +%{__mkdir} -p %{buildroot}/%{_initrddir} + +%{__mv} client/smoltFirstBoot.py %{buildroot}/%{_datadir}/firstboot/modules/smolt.py +%{__mv} client/smolt-init %{buildroot}/%{_initrddir}/smolt + +touch %{buildroot}/%{_sysconfdir}/sysconfig/hw-uuid + +# Icons +%{__mkdir} -p %{buildroot}/%{_datadir}/icons/hicolor/16x16/apps/ +%{__mkdir} -p %{buildroot}/%{_datadir}/icons/hicolor/22x22/apps/ +%{__mkdir} -p %{buildroot}/%{_datadir}/icons/hicolor/24x24/apps/ +%{__mkdir} -p %{buildroot}/%{_datadir}/icons/hicolor/32x32/apps/ + +%{__mkdir} -p %{buildroot}/%{_datadir}/firstboot/pixmaps/ +%{__mkdir} -p %{buildroot}/%{_datadir}/firstboot/themes/default/ + +%{__mv} client/icons/smolt-icon-16.png %{buildroot}/%{_datadir}/icons/hicolor/16x16/apps/smolt.png +%{__mv} client/icons/smolt-icon-22.png %{buildroot}/%{_datadir}/icons/hicolor/22x22/apps/smolt.png +%{__mv} client/icons/smolt-icon-24.png %{buildroot}/%{_datadir}/icons/hicolor/24x24/apps/smolt.png +%{__mv} client/icons/smolt-icon-32.png %{buildroot}/%{_datadir}/icons/hicolor/32x32/apps/smolt.png +%{__cp} -adv client/icons/* %{buildroot}/%{_datadir}/%{name}/client/icons/ +%{__cp} -adv client/icons/smolt-icon-48.png %{buildroot}/%{_datadir}/firstboot/themes/default/smolt.png + +%{__rm} -f %{buildroot}/%{_bindir}/smoltSendProfile %{buildroot}/%{_bindir}/smoltDeleteProfile %{buildroot}/%{_bindir}/smoltGui +%{__rm} -f %{buildroot}/%{_datadir}/%{name}/client/config.py + +ln -s %{_datadir}/%{name}/client/sendProfile.py %{buildroot}/%{_bindir}/smoltSendProfile +ln -s %{_datadir}/%{name}/client/deleteProfile.py %{buildroot}/%{_bindir}/smoltDeleteProfile +ln -s %{_datadir}/%{name}/client/smoltGui.py %{buildroot}/%{_bindir}/smoltGui +ln -s %{_sysconfdir}/%{name}/config.py %{buildroot}/%{_datadir}/%{name}/client/config.py + + +desktop-file-install --vendor='fedora' --dir=%{buildroot}/%{_datadir}/applications client/smolt.desktop +%{__rm} -f %{buildroot}/%{_datadir}/applications/smolt.desktop +%find_lang %{name} + +# Cleanup from the Makefile (will be cleaned up when it is finalized) +%{__rm} -f %{buildroot}/etc/init.d/smolt +%{__rm} -f %{buildroot}/etc/smolt/hw-uuid + +%clean +rm -rf %{buildroot} + +%pre +%{_sbindir}/groupadd -r %{name} &>/dev/null || : +%{_sbindir}/useradd -r -s /sbin/nologin -d %{_datadir}/%{name} -M \ + -c 'Smolt' -g %{name} %{name} &>/dev/null || : + +%post +/sbin/chkconfig --add smolt + +#Randomize checkin times. +TMPFILE=$(/bin/mktemp /tmp/smolt.XXXXX) +/bin/awk '{ srand(); if($2 == 1 && $3 == 1) print $1,int((rand() * 100) % 22 + 1),int((rand() * 100) % 27 + 1),substr($0,index($0,$4)); else print $0}' /etc/cron.d/smolt > $TMPFILE +/bin/cp $TMPFILE /etc/cron.d/smolt +/bin/rm -f $TMPFILE + +%preun +if [ $1 = 0 ]; then + /sbin/service smolt stop >/dev/null 2>&1 + /sbin/chkconfig --del smolt +fi + +%post server +#Fail, will fix later +for f in delete.html deviceclass.html device.html devices.html error.html \ + link.html login.html master.html myHosts.html notLoaded.html \ + pub_uuid.html raw.html report_device_ratings.html \ + report_host_ratings.html report_recent.html report_search_devices.html\ + report_search.html report_search_profiles.html report_view_device.html\ + report_view_devices.html report_view.html report_view_profile.html \ + report_view_profiles.html showall.html show.html stats.html token.html\ + welcome.html +do + touch %{_datadir}/%{name}/smoon/hardware/static/stats/$f +done + +%post gui +touch --no-create %{_datadir}/icons/hicolor || : +%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : + +%postun gui +touch --no-create %{_datadir}/icons/hicolor || : +%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : + +%files -f %{name}.lang +%defattr(-,root,root,-) +%doc README GPL doc/* +%dir %{_datadir}/%{name} +%dir %{_sysconfdir}/%{name}/ +%{_datadir}/%{name}/client +#%ghost %{_datadir}/%{name}/client/scan.pyc +#%ghost %{_datadir}/%{name}/client/scan.pyo +%{_datadir}/%{name}/doc +%{_bindir}/smoltSendProfile +%{_bindir}/smoltDeleteProfile +%config(noreplace) /%{_sysconfdir}/%{name}/config* +%{_sysconfdir}/cron.d/%{name} +%{_mandir}/man1/*gz +%{_initrddir}/%{name} +%ghost %config(noreplace) %{_sysconfdir}/sysconfig/hw-uuid + +%files server +%defattr(-,root,root,-) +%{_datadir}/%{name}/smoon + +%files firstboot +%defattr(-,root,root,-) +%{_datadir}/firstboot/modules/smolt.py* +%{_datadir}/firstboot/themes/default/smolt.png + +%files gui +%defattr(-,root,root,-) +%{_datadir}/applications/fedora-smolt.desktop +%{_datadir}/icons/hicolor/*x*/apps/smolt.png +%{_bindir}/smoltGui + +%changelog +* Fri Jul 14 2023 BogusDateBot +- Eliminated rpmbuild "bogus date" warnings due to inconsistent weekday, + by assuming the date is correct and changing the weekday. + Tue Jan 16 2006 --> Tue Jan 10 2006 or Mon Jan 16 2006 or Tue Jan 17 2006 or .... + Thu Jan 18 2006 --> Thu Jan 12 2006 or Wed Jan 18 2006 or Thu Jan 19 2006 or .... + Thu Jan 22 2007 --> Thu Jan 18 2007 or Mon Jan 22 2007 or Thu Jan 25 2007 or .... + Tue Jan 31 2007 --> Tue Jan 30 2007 or Wed Jan 31 2007 or Tue Feb 06 2007 or .... + Fri Mar 01 2007 --> Fri Feb 23 2007 or Thu Mar 01 2007 or Fri Mar 02 2007 or .... + Tue Oct 25 2007 --> Tue Oct 23 2007 or Thu Oct 25 2007 or Tue Oct 30 2007 or .... + Thu Jan 08 2008 --> Thu Jan 03 2008 or Tue Jan 08 2008 or Thu Jan 10 2008 or .... + Mon Feb 03 2010 --> Mon Feb 01 2010 or Wed Feb 03 2010 or Mon Feb 08 2010 or .... + +* Sun Feb 7 2016 stephane de labrusse 1.4.2-5.sme +- Build new rpm for sme10 + +* Sat Feb 6 2010 Shad L. Lords 1.4.2-5.sme +- Fix links so they work with mod_proxy + +* Sat Feb 6 2010 Shad L. Lords 1.4.2-4.sme +- Make cronjob run as root so we can get machine type + +* Sat Feb 6 2010 Shad L. Lords 1.4.2-3.sme +- Make cronjob run as admin so we can get system type + +* Wed Feb 03 2010 Shad L. Lords 1.4.2-2.sme + Mon Feb 03 2010 --> Mon Feb 01 2010 or Wed Feb 03 2010 or Mon Feb 08 2010 or .... +- Apply patches so smolt will run under el5 +- Apply sme specific patches + +* Mon Jan 25 2010 Mike McGrath 1.4.2-1 +- Upstream released new version +- Added hal requires + +* Tue Oct 13 2009 Mike McGrath 1.4-4 +- Fixing firstboot for F-12 + +* Mon Sep 21 2009 Mike McGrath 1.4-2 +- Patched issue with translations (already upstream) + +* Mon Sep 14 2009 Mike McGrath 1.4-1 +- Upstream released new version + +* Thu Sep 10 2009 Mike McGrath - 1.3.2-2 +- Added requires for PyQt4 on smolt gui + +* Thu Sep 03 2009 Mike McGrath - 1.3.2-1 +- Upstream released new version +- Changed some link and copy info + +* Sun Jul 26 2009 Fedora Release Engineering - 1.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Jul 02 2009 Mike McGrath - 1.3-1 +- Added touch for generated stats +- Upstream released new version + +* Tue Apr 14 2009 Mike McGrath - 1.2-4.2 +- Removed fake attack + +* Fri Mar 13 2009 Mike McGrath - 1.2-4.1 +- Fixed some formatting in the spec file +- Added note to %post + +* Wed Feb 25 2009 Fedora Release Engineering - 1.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Jan 21 2009 Mike McGrath - 1.2-3 +- Added os_detect.py as it is now required. + +* Mon Dec 01 2008 Ignacio Vazquez-Abrams - 1.2-2 +- Rebuild for Python 2.6 + +* Sun Nov 30 2008 Mike McGrath 1.2-1 +- Upstream released new version + +* Fri Nov 21 2008 Mike McGrath 1.1.1.1-10 +- Fix for bug 472101 + +* Wed Nov 12 2008 Mike McGrath 1.1.1.1-9 +- Fix for bug 470829 + +* Tue Nov 11 2008 Mike McGrath 1.1.1.1-8 +- Added patch for fixed scanner + +* Wed Oct 1 2008 Mike McGrath 1.1.1.1-7 +- Fix for 439496 + +* Sun Sep 7 2008 Mike McGrath 1.1.1.1-6 +- Added turboflot to server, removed from firstboot + +* Thu Sep 4 2008 Tom "spot" Callaway 1.1.1.1-5 +- fix license tag + +* Thu Apr 03 2008 Mike McGrath - 1.1.1.1-4 +- One revert for rawhide + +* Sat Mar 08 2008 Mike McGrath - 1.1.1.1-3 +- Fixing firstboot again for 437708, 437765 + +* Sat Mar 08 2008 Mike McGrath - 1.1.1.1-2 +- Fix firstboot for 437708, 437765 + +* Sat Mar 08 2008 Mike McGrath - 1.1.1.1-1 +- Upstream released new version + +* Wed Mar 05 2008 Mike McGrath - 1.1.1-1 +- Upstream released new version +- Manfiles added +- Source location updated + +* Wed Feb 27 2008 Jeffrey C. Ollie - 1.1-3 +- Copy instead of move cron file so that selinux contexts are set + properly. (BZ#435050) + +* Wed Feb 27 2008 Jeffrey C. Ollie - 1.1-2 +- Create smolt user. (BZ#435136) + +* Fri Feb 01 2008 Mike McGrath 1.0-5 +- Added a req for mx on smoon + +* Thu Jan 08 2008 Mike McGrath 1.0-4 +- Fixed firstboot + +* Thu Jan 08 2008 Mike McGrath 1.0-3 +- Added python-urlgrabber as a requires - 427969 + +* Thu Nov 22 2007 Mike McGrath 1.0-2 +- Installed scanner - #395901 + +* Tue Nov 20 2007 Mike McGrath 1.0-1 +- Upstream released new version + +* Thu Oct 25 2007 Mike McGrath 0.9.9.2-1 + Tue Oct 25 2007 --> Tue Oct 23 2007 or Thu Oct 25 2007 or Tue Oct 30 2007 or .... +- Upstream released new version + +* Tue Oct 23 2007 Mike McGrath 0.9.9.1-4 +- Upstream released new version + +* Thu Oct 18 2007 Mike McGrath 0.9.9-2 +- Fixed /etc/smolt/ ownership issue + +* Tue Oct 16 2007 Mike McGrath 0.9.9-1 +- Upstream released new version + +* Fri Sep 28 2007 Mike McGrath 0.9.8.4-8 +- Fixed Selinux + +* Thu Sep 27 2007 Mike McGrath 0.9.8.4-6 +- Added translations + +* Fri Sep 21 2007 Mike McGrath 0.9.8.4-5 +- Fixed firstboot issues + +* Mon Aug 13 2007 Mike McGrath 0.9.8.4-4 +- Rebuild to clean up 'config.py' compilations + +* Mon Aug 13 2007 Mike McGrath 0.9.8.4-1 +- Upstream released new version (major changes) +- New config file +- New Makefile +- Added deps + +* Fri Jun 22 2007 Mike McGrath 0.9.8.3 +- Upstream released new version + +* Thu May 24 2007 Mike McGrath - 0.9.8.1 +- Upstream released new version + +* Sun Apr 22 2007 Mike McGrath - 0.9.7.1-3 +- Added smolt icons + +* Tue Apr 17 2007 Jeffrey C. Ollie - 0.9.6-4 +- Add standard scriptlets in pre & post to handle init script - fixes #236776 +- Use the find_lang macro to find/mark translations. + +* Fri Apr 13 2007 Jeffrey C. Ollie - 0.9.6-3 +- Put a copy of the privacy policy where the client is expecting it. + +* Wed Apr 11 2007 Mike McGrath 0.9.6-2 +- Upstream released new version. +- Much better support for languages on the client + +* Fri Mar 16 2007 Mike McGrath 0.9.4-1 +- Upstream released new version +- Major changes +- Added initial i18n support (Probably doesn't work) + +* Fri Mar 01 2007 Mike McGrath 0.9.2-1 +- Fixed firstboot +- Upstream released new version + +* Fri Mar 01 2007 Mike McGrath 0.9.1-1 +- Upstream released new version, major smoon changes. + +* Mon Feb 19 2007 Mike McGrath 0.9-1 +- Upstream released new version + +* Mon Feb 12 2007 Mike McGrath 0.8-1 +- New version released, major changes in both server and client + +* Wed Feb 07 2007 Mike McGrath 0.7-1 +- Upstream released new version + +* Wed Jan 31 2007 Mike McGrath 0.6.2-1 + Tue Jan 31 2007 --> Tue Jan 30 2007 or Wed Jan 31 2007 or Tue Feb 06 2007 or .... +- Upstream released new version (bug in firstboot) + +* Tue Jan 30 2007 Mike McGrath 0.6.1-3 +- Removed LSB requirement for sparc + +* Tue Jan 30 2007 Mike McGrath 0.6.1-2 +- Added firstboot +- Upstream released new version + +* Mon Jan 29 2007 Mike McGrath 0.6-1 +- Upstream released new version +- Added new symlinks for smoltPrint and smoltSendProfile + +* Thu Jan 25 2007 Mike McGrath 0.5-4 +- Forgot Requires of dbus-python + +* Wed Jan 24 2007 Mike McGrath 0.5-3 +- Fixed silly bash syntax error + +* Mon Jan 22 2007 Mike McGrath 0.5-2 + Thu Jan 22 2007 --> Thu Jan 18 2007 or Mon Jan 22 2007 or Thu Jan 25 2007 or .... +- s/turbogears/TurboGears/ + +* Mon Jan 22 2007 Mike McGrath 0.5-1 + Thu Jan 22 2007 --> Thu Jan 18 2007 or Mon Jan 22 2007 or Thu Jan 25 2007 or .... +- Upstream released new version +- Fixed small bug in post + +* Wed Jan 18 2006 Mike McGrath 0.4-2 + Thu Jan 18 2006 --> Thu Jan 12 2006 or Wed Jan 18 2006 or Thu Jan 19 2006 or .... +- Added comment about the not directly available tar-gzip file + +* Wed Jan 18 2006 Mike McGrath 0.4-1 + Thu Jan 18 2006 --> Thu Jan 12 2006 or Wed Jan 18 2006 or Thu Jan 19 2006 or .... +- New upstream version +- Altered post install section +- Added wget requires + +* Wed Jan 18 2006 Mike McGrath 0.3-1 + Thu Jan 18 2006 --> Thu Jan 12 2006 or Wed Jan 18 2006 or Thu Jan 19 2006 or .... +- Upstream released new version + +* Mon Jan 16 2006 Mike McGrath 0.2-1 + Tue Jan 16 2006 --> Tue Jan 10 2006 or Mon Jan 16 2006 or Tue Jan 17 2006 or .... +- Initial Packaging