Compare commits

..

No commits in common. "rawhide" and "f23" have entirely different histories.

6 changed files with 323 additions and 1 deletions

3
.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
/7kaa-2.14.5.tar.xz
/7kaa-formatSecurity.patch
/7kaa.autodlrc

75
7kaa-formatSecurity.patch Normal file
View file

@ -0,0 +1,75 @@
diff -up ./src/client/ORACERES.cpp.libintl ./src/client/ORACERES.cpp
--- ./src/client/ORACERES.cpp.libintl 2015-05-19 11:00:20.000000000 +1000
+++ ./src/client/ORACERES.cpp 2015-05-31 23:48:19.960448911 +1000
@@ -27,7 +27,7 @@
#include <OUNITRES.h>
#include <ORACERES.h>
#include <locale.h>
-#include "gettext.h"
+#include <gettext.h>
//---------- #define constant ------------//
@@ -540,52 +540,52 @@ static void translate_race_adjective(cha
if( strncmp(adjective, "Norman", RaceInfo::ADJECTIVE_LEN) == 0 )
{
// TRANSLATORS: "the Norman Scroll of Power"
- snprintf( adjective, RaceInfo::ADJECTIVE_LEN+1, pgettext("Race Adjective", "Norman") );
+ strncpy( adjective, pgettext("Race Adjective", "Norman"), RaceInfo::ADJECTIVE_LEN+1 );
}
else if( strncmp(adjective, "Mayan", RaceInfo::ADJECTIVE_LEN) == 0 )
{
// TRANSLATORS: "the Mayan Scroll of Power"
- snprintf( adjective, RaceInfo::ADJECTIVE_LEN+1, pgettext("Race Adjective", "Mayan") );
+ strncpy( adjective, pgettext("Race Adjective", "Mayan"), RaceInfo::ADJECTIVE_LEN+1 );
}
else if( strncmp(adjective, "Greek", RaceInfo::ADJECTIVE_LEN) == 0 )
{
// TRANSLATORS: "the Greek Scroll of Power"
- snprintf( adjective, RaceInfo::ADJECTIVE_LEN+1, pgettext("Race Adjective", "Greek") );
+ strncpy( adjective, pgettext("Race Adjective", "Greek"), RaceInfo::ADJECTIVE_LEN+1 );
}
else if( strncmp(adjective, "Viking", RaceInfo::ADJECTIVE_LEN) == 0 )
{
// TRANSLATORS: "the Viking Scroll of Power"
- snprintf( adjective, RaceInfo::ADJECTIVE_LEN+1, pgettext("Race Adjective", "Viking") );
+ strncpy( adjective, pgettext("Race Adjective", "Viking"), RaceInfo::ADJECTIVE_LEN+1 );
}
else if( strncmp(adjective, "Persian", RaceInfo::ADJECTIVE_LEN) == 0 )
{
// TRANSLATORS: "the Persian Scroll of Power"
- snprintf( adjective, RaceInfo::ADJECTIVE_LEN+1, pgettext("Race Adjective", "Persian") );
+ strncpy( adjective, pgettext("Race Adjective", "Persian"), RaceInfo::ADJECTIVE_LEN+1 );
}
else if( strncmp(adjective, "Chinese", RaceInfo::ADJECTIVE_LEN) == 0 )
{
// TRANSLATORS: "the Chinese Scroll of Power"
- snprintf( adjective, RaceInfo::ADJECTIVE_LEN+1, pgettext("Race Adjective", "Chinese") );
+ strncpy( adjective, pgettext("Race Adjective", "Chinese"), RaceInfo::ADJECTIVE_LEN+1 );
}
else if( strncmp(adjective, "Japanese", RaceInfo::ADJECTIVE_LEN) == 0 )
{
// TRANSLATORS: "the Japanese Scroll of Power"
- snprintf( adjective, RaceInfo::ADJECTIVE_LEN+1, pgettext("Race Adjective", "Japanese") );
+ strncpy( adjective, pgettext("Race Adjective", "Japanese"), RaceInfo::ADJECTIVE_LEN+1 );
}
else if( strncmp(adjective, "Egyptian", RaceInfo::ADJECTIVE_LEN) == 0 )
{
// TRANSLATORS: "the Egyptian Scroll of Power"
- snprintf( adjective, RaceInfo::ADJECTIVE_LEN+1, pgettext("Race Adjective", "Egyptian") );
+ strncpy( adjective, pgettext("Race Adjective", "Egyptian"), RaceInfo::ADJECTIVE_LEN+1 );
}
else if( strncmp(adjective, "Mughul", RaceInfo::ADJECTIVE_LEN) == 0 )
{
// TRANSLATORS: "the Mughul Scroll of Power"
- snprintf( adjective, RaceInfo::ADJECTIVE_LEN+1, pgettext("Race Adjective", "Mughul") );
+ strncpy( adjective, pgettext("Race Adjective", "Mughul"), RaceInfo::ADJECTIVE_LEN+1 );
}
else if( strncmp(adjective, "Zulu", RaceInfo::ADJECTIVE_LEN) == 0 )
{
// TRANSLATORS: "the Zulu Scroll of Power"
- snprintf( adjective, RaceInfo::ADJECTIVE_LEN+1, pgettext("Race Adjective", "Zulu") );
+ strncpy( adjective, pgettext("Race Adjective", "Zulu"), RaceInfo::ADJECTIVE_LEN+1 );
}
}
//---------- End of function translate_race_adjective -----------//

50
7kaa.autodlrc Normal file
View file

@ -0,0 +1,50 @@
[MESSAGELIST]
[MESSAGE]
[TITLE]Please click 'Accept' to allow internet and sudo access.[/TITLE]
[TEXT]Seven Kingdoms is a real-time strategy (RTS) computer game developed by Trevor Chan of Enlight Software.
Seven Kingdoms: Ancient Adversaries is a free patch provided by Interactive Magic and added three new cultures, the Egyptians, the
Mughals and the Zulus, and a new war machine, Unicorn.
Please click Accept to allow 7kaa to download and install the music files and to /usr/share/7kaa/music.[/TEXT]
[/MESSAGE]
[MESSAGE]
[TITLE]License Information[/TITLE]
[TEXT]Seven Kingdoms Music Soundtrack
Copyright (c)1997 Bjorn Lynne
Copyright (c)1997 Enlight Software Ltd.
Permission is granted to anyone to use these media files with
Seven Kingdoms: Ancient Adversaries from Enlight Ltd., and to redistribute
copies of these media files freely, subject to the following restrictions:
1. The redistributed media files are a complete set, unmodified, and correctly
represented for use with Seven Kingdoms.
2. The authors are acknowledged with any distribution.
3. This notice may not be removed or altered in any distribution.
The authors do not grant any additional right outside of the use with
Seven Kingdoms. Any re-recording or derivative works based on the provided
soundtracks is subject to any applicable copyright laws.
These media files are provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from use of these media files.
[/TEXT]
[/MESSAGE]
[/MESSAGELIST]
[FILELIST]
[FILE]
[FILENAME]7kaa-music.tar.bz2[/FILENAME]
[MD5]90716e41b58e56b816ffea797fb24676[/MD5]
[PATH]/tmp/7kaa-music[/PATH]
[MIRRORS]
[URL]http://www.7kfans.com/downloads/7kaa-music.tar.bz2[/URL]
[/MIRRORS]
[/FILE]
[/FILELIST]

192
7kaa.spec Normal file
View file

@ -0,0 +1,192 @@
%global icon_file 7kaa_icon.png
%global icon_dest_dir %{_datadir}/icons/hicolor/32x32/apps
Name: 7kaa
Version: 2.14.5
Release: 10%{?dist}
Summary: Seven Kingdoms: Ancient Adversaries
License: GPLv3+ and GPLv2+
URL: http://7kfans.com/
Source0: http://sourceforge.net/projects/skfans/files/%{name}-%{version}.tar.xz
Source1: %{name}.autodlrc
Patch0: http://sf.net/p/skfans/bugs/4/attachment/%{name}-formatSecurity.patch
BuildRequires: SDL2-devel, SDL2_net-devel
BuildRequires: enet-devel
BuildRequires: openal-soft-devel, autoconf
BuildRequires: gettext-devel
BuildRequires: desktop-file-utils
BuildRequires: ImageMagick
Requires: %{name}-data = %{version}-%{release}
%description
Seven Kingdoms is a real-time strategy (RTS) computer game developed
by Trevor Chan of Enlight Software. The game enables players to
compete against up to six other kingdoms allowing players to conquer
opponents by defeating them in war (with troops or machines),
capturing their buildings with spies, or offering opponents money
for their kingdom.
Seven Kingdoms: Ancient Adversaries is a free patch provided by
Interactive Magic and added three new cultures, the Egyptians, the
Mughals and the Zulus, and a new war machine, Unicorn.
%package data
BuildArch: noarch
Summary: In-Game data Seven Kingdoms: Ancient Adversaries
Requires: %{name} = %{version}-%{release}
Requires: hicolor-icon-theme
%description data
In-Game music data Seven Kingdoms: Ancient Adversaries
%package music
License: Redistributable, no modification permitted
BuildArch: noarch
Summary: In-Game music for Seven Kingdoms: Ancient Adversaries
Requires: %{name}-data = %{version}-%{release}
Requires: autodownloader, sudo
%description music
In-Game music for Seven Kingdoms: Ancient Adversaries
Due to license issue, you need to run 7kaa-data-installer install the music.
%prep
%setup -q
%patch0 -p0 -b .formatSecurity
%build
%configure
make %{?_smp_mflags}
convert data/image/7k_icon.bmp %{icon_file}
%install
%make_install
mkdir -p %{buildroot}%{icon_dest_dir}
install -m 644 %{icon_file} %{buildroot}%{icon_dest_dir}
### == desktop file
cat>%{name}.desktop<<END
[Desktop Entry]
Name=%{name}
GenericName=Seven Kingdoms: Ancient Adversaries
Comment=A real-time strategy (RTS) computer game
Exec=/usr/bin/%{name}
Icon=%{name}_icon
Terminal=false
Type=Application
Categories=Game;StrategyGame
END
desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{name}.desktop
### == music autodownload
%global data_installer %{name}-data-installer
%global prj_music_dir %{_datadir}/%{name}/music
mkdir -p %{buildroot}%{prj_music_dir}
mkdir -p %{buildroot}/usr/share/doc/%{name}-music
### === Downloader
cat >%{data_installer}<<END
#!/bin/bash
echo "This program will download necessary data files."
if [ -r %{prj_music_dir}/win.wav ];then
echo "music already downloaded" > /dev/stderr
exit 2
fi
if ! /usr/share/autodl/AutoDL.py %{prj_music_dir}/%{name}.autodlrc; then
echo "Error on music download" > /dev/stderr
exit 3
fi
cd /tmp/%{name}-music
tar xjvf /tmp/%{name}-music/%{name}-music.tar.bz2
sudo install -v -m 644 /tmp/%{name}-music/%{name}-music/music/* /usr/share/%{name}/music
sudo install -v -m 644 /tmp/%{name}-music/%{name}-music/*.txt /usr/share/doc/%{name}-music
echo "Done"
END
install -m 755 %{data_installer} %{buildroot}%{_bindir}/%{data_installer}
install -m 644 %{SOURCE1} %{buildroot}%{prj_music_dir}
rm -f %{buildroot}%{_docdir}/%{name}/COPYING
%post data
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
%postun data
if [ $1 -eq 0 ] ; then
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
if [ -x /usr/bin/gtk-update-icon-cache ];then
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi
fi
%posttrans data
if [ -x /usr/bin/gtk-update-icon-cache ];then
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi
%postun music
if [ $1 -eq 0 ] ; then
## When Uninstall
rm -fr %{prj_music_dir}
fi
%files
%doc README
%license COPYING
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%files data
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/[^m]*
%{icon_dest_dir}/%{icon_file}
%files music
%{_bindir}/%{data_installer}
%dir %{prj_music_dir}
%{prj_music_dir}/%{name}.autodlrc
%dir %{_docdir}/%{name}-music
%changelog
* Tue Oct 20 2015 Ding-Yi Chen <dchen@redhat.com> 2.14.5-10
- music won't get uninstall when upgrading.
- Remove /usr/share/doc/COPYING as it is already installed.
* Fri Jun 26 2015 Ding-Yi Chen <dchen@redhat.com> 2.14.5-8
- Use name macro whenever possible.
* Wed Jun 24 2015 Ding-Yi Chen <dchen@redhat.com> 2.14.5-7
- Fix the .desktop file.
* Tue Jun 23 2015 Ding-Yi Chen <dchen@redhat.com> 2.14.5-6
- Requires: hicolor-icon-theme
- License become GPLv3+ and GPLv2+ as "gettext.h" is GPLv3
* Wed Jun 17 2015 Ding-Yi Chen <dchen@redhat.com> 2.14.5-5
- Fix for Review Request Comment #11
* Tue Jun 16 2015 Ding-Yi Chen <dchen@redhat.com> 2.14.5-4
- Fix for Review Request Comment #10
* Tue Jun 02 2015 Ding-Yi Chen <dchen@redhat.com> 2.14.5-3
- Fix for Review Request Comment #8
* Mon Jun 01 2015 Ding-Yi Chen <dchen@redhat.com> 2.14.5-2
- Fix for Review Request Comment #6
* Sun May 31 2015 Ding-Yi Chen <dchen@redhat.com> 2.14.5-1
- Upstream update to 2.14.5
- BuildRequires: add enet-devel
- Use autodownloader to download music.
* Wed May 27 2015 Ding-Yi Chen <dchen@redhat.com> 2.14.4-2
- Remove music.
* Tue May 05 2015 Ding-Yi Chen <dchen@redhat.com> 2.14.4-1
- Initial packaging.

View file

@ -1 +0,0 @@
Orphaned for 6+ weeks

3
sources Normal file
View file

@ -0,0 +1,3 @@
83152b21973c1b3df8de525bda434be4 7kaa-2.14.5.tar.xz
77c36c99a387bf86d311d5a784395119 7kaa-formatSecurity.patch
b865aaf5c8101e7b00e4ef9e7961c1cd 7kaa.autodlrc