RPM: add support for Fedora 39

Signed-off-by: François Andriot <albator78@libertysurf.fr>
r14.1.x
François Andriot 1 year ago
parent 3da26236a5
commit 904d1e0924

@ -149,7 +149,7 @@ ifneq (,$(filter $(DIST), .mga6 .mga7 .mga8 .mga9 .oss151 .oss152 .oss153 .oss15
endif
htdig:
ifneq (,$(filter $(DIST), .el7 .el8 .el9 .fc38 .mga6 .mga7 .mga8 .mga9 ))
ifneq (,$(filter $(DIST), .el7 .el8 .el9 .fc38 .fc39 .mga6 .mga7 .mga8 .mga9 ))
$(call buildpkg,extras/htdig)
endif
@ -186,7 +186,7 @@ ifneq (,$(filter $(DIST),.oss150 .oss151))
endif
wv2:
ifneq (,$(filter $(DIST), .el5 .el6 .el7 .el8 .el9 .fc30 .fc31 .fc32 .fc33 .fc34 .fc35 .fc36 .fc37 .fc38))
ifneq (,$(filter $(DIST), .el5 .el6 .el7 .el8 .el9 .fc30 .fc31 .fc32 .fc33 .fc34 .fc35 .fc36 .fc37 .fc38 .fc39))
$(call buildpkg,3rdparty/wv2)
endif

@ -227,7 +227,8 @@ BuildRequires: ffmpeg-devel
%endif
# MUSEPACK
%if 0%{?fedora} != 38
%if 0%{?fedora} == 0 || 0%{?fedora} <= 37
# Looking for mpc_decoder_setup in mpcdec - not found
%define with_musepack 1
BuildRequires: libmpcdec-devel
%endif

@ -144,7 +144,9 @@ BuildRequires: xscreensaver-gl
%endif
# PYTHON support
%if "%{python}" == ""
%global python python3
%endif
%global __python %__python3
%global python_sitearch %{python3_sitearch}
%{!?python_sitearch:%global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}

@ -20,8 +20,8 @@ if [ -x /usr/sbin/urpmi ]; then
elif [ -x /usr/bin/dnf ]; then
REPOUPDATE='(cd ${RPMDIR}; createrepo --workers=${WORKERS} ${ARCH} & createrepo --workers=${WORKERS} noarch & wait; sudo dnf --repo="rpmbuild*" clean expire-cache)'
elif [ -x /usr/bin/zypper ]; then
#REPOUPDATE='(cd ${RPMDIR}; createrepo --workers=${WORKERS} ${ARCH} & createrepo --workers=${WORKERS} noarch & wait; sudo zypper refresh rpmbuild.${ARCH} rpmbuild.noarch)'
REPOUPDATE='(rsync -av ${RPMDIR}/ /tmp/rpm${dist}/ && cd /tmp/rpm${dist}; umask 0000; createrepo --workers=${WORKERS} ${ARCH} & createrepo --workers=${WORKERS} noarch & wait; rsync -av /tmp/rpm${dist}/ ${RPMDIR}/; sudo zypper refresh rpmbuild.${ARCH} rpmbuild.noarch)'
REPOUPDATE='(cd ${RPMDIR}; createrepo --workers=${WORKERS} ${ARCH} & createrepo --workers=${WORKERS} noarch & wait; sudo zypper refresh rpmbuild.${ARCH} rpmbuild.noarch)'
#REPOUPDATE='(rsync -av ${RPMDIR}/ /tmp/rpm${dist}/ && cd /tmp/rpm${dist}; umask 0000; createrepo --workers=${WORKERS} ${ARCH} & createrepo --workers=${WORKERS} noarch & wait; rsync -av /tmp/rpm${dist}/ ${RPMDIR}/; sudo zypper refresh rpmbuild.${ARCH} rpmbuild.noarch)'
elif [ -x /usr/bin/yum ]; then
if [ "$(rpm -E %dist)" = ".el5" ]; then
REPOUPDATE='(cd ${RPMDIR}; createrepo ${ARCH} & createrepo noarch & wait; sudo yum clean metadata --disablerepo="*" --enablerepo="rpmbuild*")'

@ -0,0 +1,5 @@
#%PAM-1.0
auth include system-auth
account include system-auth
password include system-auth
session include system-auth

@ -0,0 +1,16 @@
#%PAM-1.0
auth required pam_env.so
auth required pam_permit.so
auth include postlogin
account required pam_nologin.so
account include system-auth
password include system-auth
session required pam_selinux.so close
session required pam_loginuid.so
session optional pam_console.so
-session optional pam_ck_connector.so
session required pam_selinux.so open
session optional pam_keyinit.so force revoke
session required pam_namespace.so
session include system-auth
session include postlogin

@ -0,0 +1,23 @@
#%PAM-1.0
auth [success=done ignore=ignore default=bad] pam_selinux_permit.so
auth required pam_env.so
auth substack system-auth
-auth optional pam_gnome_keyring.so
-auth optional pam_kwallet.so
-auth optional pam_kwallet5.so
auth include postlogin
account required pam_nologin.so
account include system-auth
password include system-auth
session required pam_selinux.so close
session required pam_loginuid.so
session optional pam_console.so
-session optional pam_ck_connector.so
session required pam_selinux.so open
session optional pam_keyinit.so force revoke
session required pam_namespace.so
session include system-auth
-session optional pam_gnome_keyring.so auto_start
-session optional pam_kwallet.so
-session optional pam_kwallet5.so
session include postlogin

@ -0,0 +1,5 @@
#%PAM-1.0
auth include system-auth
account include system-auth
password include system-auth
session include system-auth

@ -0,0 +1,11 @@
module tdm 1.0;
require {
type fprintd_t;
type init_t;
class dbus send_msg;
}
#============= fprintd_t ==============
allow fprintd_t init_t:dbus send_msg;

@ -85,7 +85,9 @@ BuildRequires: net-snmp-devel
BuildRequires: gmp-devel
# PYTHON support
%if "%{python}" == ""
%global python python3
%endif
%global __python %__python3
%{!?python_sitearch:%global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
BuildRequires: %{python}
@ -169,6 +171,7 @@ BuildRequires: openssl-devel
%define dont_relink 1
%endif
%define build_superkaramba 1
%define build_tdefilereplace 1
Requires: trinity-ark = %{?epoch:%{epoch}:}%{version}-%{release}
@ -189,7 +192,9 @@ Requires: trinity-kregexpeditor = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: trinity-ksim = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: trinity-ktimer = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: trinity-tdewalletmanager = %{?epoch:%{epoch}:}%{version}-%{release}
%if 0%{?build_superkaramba}
Requires: trinity-superkaramba = %{?epoch:%{epoch}:}%{version}-%{release}
%endif
%if 0%{?build_tdefilereplace}
Requires: trinity-tdefilereplace = %{?epoch:%{epoch}:}%{version}-%{release}
%endif
@ -754,6 +759,8 @@ keeps a master password to all wallets.
##########
%if 0%{?build_superkaramba}
%package -n trinity-superkaramba
Summary: A program based on karamba improving the eyecandy of TDE
Group: Applications/Utilities
@ -783,6 +790,8 @@ Here are just some examples of the things that can be done:
%{tde_tdedocdir}/HTML/en/superkaramba/
%{tde_mandir}/man1/superkaramba.1*
%endif
##########
%if 0%{?build_tdefilereplace}
@ -868,7 +877,7 @@ This package contains the development files for tdeutils.
%prep
%setup -q -n %{name}-%{version}%{?preversion:~%{preversion}}
%if 0%{?rhel} == 5
%if 0%{?rhel} == 5 && 0%{?build_superkaramba}
# Reverts some older Python stuff
%__sed -i "superkaramba/src/"*".cpp" \
-e "s|PyBytes_CheckExact|PyString_CheckExact|g" \
@ -912,6 +921,11 @@ fi
-DPKGCONFIG_INSTALL_DIR="%{tde_libdir}/pkgconfig" \
-DSHARE_INSTALL_PREFIX="%{tde_datadir}" \
\
%if 0%{?fedora} == 39
-DPYTHON_LIBRARY="%{_libdir}/libpython3.11.so.1.0" \
-DPYTHON_INCLUDE_DIR="%{_includedir}/python3.11" \
%endif
\
-DWITH_DPMS=ON \
%{?with_xscreensaver:-DWITH_XSCREENSAVER=ON} \
-DWITH_ASUS=ON \
@ -926,6 +940,8 @@ fi
-DWITH_TDENEWSTUFF=ON \
-DBUILD_ALL=ON \
%{?!build_klaptopdaemon:-DBUILD_KLAPTOPDAEMON=OFF} \
%{?!build_superkaramba:-DBUILD_SUPERKARAMBA=OFF} \
%{?!build_tdefilereplace:-DBUILD_TDEFILEREPLACE=OFF} \
..
%__make %{?_smp_mflags} || %__make
@ -969,14 +985,18 @@ export PATH="%{tde_bindir}:${PATH}"
# Fix desktop shortcut location
if [ -d "%{?buildroot}%{tde_datadir}/applnk" ]; then
%__mkdir_p "%{?buildroot}%{tde_tdeappdir}"
%if 0%{?build_superkaramba}
%__mv "%{?buildroot}%{tde_datadir}/applnk/Utilities/superkaramba.desktop" "%{?buildroot}%{tde_tdeappdir}/superkaramba.desktop"
%endif
%__rm -rf "%{?buildroot}%{tde_datadir}/applnk"
fi
# Updates applications categories for openSUSE
%if 0%{?suse_version}
%suse_update_desktop_file KEdit Utility TextEditor
%if 0%{?build_superkaramba}
%suse_update_desktop_file superkaramba Utility DesktopUtility
%endif
%suse_update_desktop_file KCharSelect Utility Accessibility
%suse_update_desktop_file khexedit Utility Editor
%suse_update_desktop_file Kjots Utility TimeUtility

@ -73,7 +73,9 @@ BuildRequires: libtqscintilla-devel >= %{?epoch:%{epoch}:}1.7.1
BuildRequires: gcc-c++
# PYTHON support
%if "%{python}" == ""
%global python python3
%endif
%global __python %__python3
%global python_sitearch %{python3_sitearch}
%{!?python_sitearch:%global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}

@ -77,7 +77,9 @@ BuildRequires: bison
BuildRequires: flex
# PYTHON support
%if "%{python}" == ""
%global python python3
%endif
%global __python %__python3
%global python_sitearch %{python3_sitearch}
%{!?python_sitearch:%global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}

@ -328,7 +328,6 @@ Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
Requires: coreutils
Requires: fontconfig >= 2.0
Requires: /etc/ld.so.conf.d
%description -n %{libtqt3}-mt
This is the Trolltech TQt library, version 3. It's necessary for
@ -1291,11 +1290,12 @@ echo "sle_version = %{?sle_version}"
%endif
# fix variables in 'qmake.conf'
distrib_cflags="$(rpm -E %optflags|sed -e "s/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2/")"
%__sed -i mkspecs/*/qmake.conf \
-e "s|^QMAKE_INCDIR_TQT.*|QMAKE_INCDIR_TQT = %{_includedir}/tqt3|" \
-e "s|\$(QTDIR)|/usr|g" \
-e "s|-lqt|-ltqt|g" \
-e "s|^QMAKE_CFLAGS =.*|QMAKE_CFLAGS = %{?optflags} -pipe -fvisibility=hidden -fvisibility-inlines-hidden|" \
-e "s|^QMAKE_CFLAGS =.*|QMAKE_CFLAGS = ${distrib_cflags} -pipe -fvisibility=hidden -fvisibility-inlines-hidden|" \
-e "s|^QMAKE_INCDIR =.*|QMAKE_INCDIR = %{_includedir}|" \
-e "s|^QMAKE_LIBDIR =.*|QMAKE_LIBDIR = %{_libdir}|" \
-e "s|^QMAKE_RPATH = .*|QMAKE_RPATH =|" \

@ -0,0 +1,41 @@
FROM fedora:39
ARG TDE_VERSION=14.1.1
ARG ARCH=x86_64
# Fix DNF database corruption
# Add RPMFUSION repository
# Install Trinity build dependencies
COPY packages /packages
RUN echo "proxy=http://proxy:3128" >>"/etc/dnf.conf" \
&& rm -fv /etc/yum.repos.d/*{rawhide,testing}* \
&& sed -i /etc/yum.repos.d/fedora{,-updates}.repo -e "1,12s|enabled=0|enabled=1|" -e "s|\$releasever|39|g" \
&& dnf -y install dnf-plugin-ovl findutils \
&& dnf -y --enableplugin=ovl install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-39.noarch.rpm \
&& dnf -y --enableplugin=ovl update \
&& dnf -y --enableplugin=ovl install --skip-broken $(</packages)
# Add YUM repository for locally built packages
COPY rpmbuild.repo /etc/yum.repos.d/rpmbuild.repo
RUN sed -i "/etc/yum.repos.d/rpmbuild.repo" -e "s|\${ARCH}|${ARCH}|g" -e "s|\${TDE_VERSION}|${TDE_VERSION}|g"
# Fix utempter detection
RUN chmod a+r /usr/libexec/utempter/utempter \
&& chmod 777 /tmp
# Add non-root user to build packages
RUN useradd -m -s /bin/bash -u 1000 trinity \
&& echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers \
&& echo "export QA_RPATHS=\$(( 0x0001|0x0002 ))" >>/home/trinity/.bashrc
USER trinity
COPY rpmmacros /home/trinity/.rpmmacros
RUN rpm -i https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/35/Everything/source/tree/Packages/w/wireless-tools-29-28.fc35.src.rpm \
&& rpmbuild -ba ${HOME}/rpmbuild/SPECS/wireless-tools.spec \
&& sudo rpm -Uvh ${HOME}/rpmbuild/RPMS/*/wireless-tools{,-devel}-29*
RUN rpm -i https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/36/Everything/source/tree/Packages/l/libnjb-2.2.7-24.fc36.src.rpm \
&& sed -i ${HOME}/rpmbuild/SPECS/libnjb.spec -e "s|libusb-devel|libusb1-devel|" \
&& rpmbuild -ba ${HOME}/rpmbuild/SPECS/libnjb.spec \
&& sudo rpm -Uvh ${HOME}/rpmbuild/RPMS/*/libnjb{,-devel}-2*

@ -0,0 +1,241 @@
alsa-lib-devel
aspell
aspell-devel
audiofile-devel
autotrace
avahi-devel
bdftopcf
bind-devel
binutils-devel
bison
boost-devel
boost-python3-devel
byacc
bzip2-devel
ccache
cdparanoia
cdparanoia-devel
chmlib-devel
chrpath
clamav
clamav-devel
clucene-core-devel
cmake
cpp
cppunit-devel
crda
createrepo_c
cryptsetup-devel
cups-devel
dbus-glib-devel
djvulibre
djvulibre-devel
dnf-plugin-ovl
docbook2X
doxygen
dssi-devel
esound-devel
exempi-devel
exiv2-devel
fdupes
fedora-rpm-macros
ffmpeg-devel
fftw-devel
file-devel
flac-devel
flex-static
fontpackages-devel
fribidi-devel
gcc
gcc-c++
geoip-devel
gettext-devel
giflib-devel
glib-devel
gmime-devel
gmp-devel
gnokii-devel
gperf
gpgme-devel
gphoto2-devel
GraphicsMagick-devel
graphviz
gsl-devel
gstreamer1-devel
gstreamer1-plugins-base-devel
gtk2-devel
gtk3-devel
gtk+-devel
gtk-doc
guile-devel
harfbuzz-devel
heimdal-devel
hspell-devel
htdig
html2ps
iceauth
icu
ImageMagick-devel
imake
imlib2-devel
intltool
jack-audio-connection-kit-devel
jasper-devel
java-1.8.0-openjdk-devel
java-devel
java-openjdk
lame-devel
lcms-devel
less
libacl-devel
libblkid-devel
libcap-devel
libcdio-devel
libcdio-paranoia-devel
libconfig-devel
libcurl-devel
libdb-cxx-devel
libdb-devel
libdvdread-devel
libfontenc-devel
libgadu-devel
libgpod-devel
libgsf-devel
libical-devel
libidn-devel
libifp-devel
liblo-devel
liblrdf-devel
libmad-devel
libmng-devel
libmp4v2-devel
libmpcdec-devel
libmtp-devel
libmusicbrainz5-devel
libnjb-devel
libnsl2-devel
libofx-devel
libogg-devel
libotr-devel
libpaper-devel
libpqxx-devel
libqalculate-devel
libraw1394-devel
librsvg2
librsvg2-tools
libsamplerate-devel
libsmbclient-devel
libsndfile-devel
libssh-devel
libssh2-devel
libtheora-devel
libtiff-devel
libtirpc-devel
libtool
libtool-ltdl-devel
libudev-devel
libudisks2-devel
libusb-compat-0.1-devel
libusb1-devel
libutempter-devel
libuuid-devel
libv4l-devel
libvisual-devel
libvncserver-devel
libvorbis-devel
libwmf-devel
libwpd-devel
libXaw-devel
libXcomposite-devel
libXdamage-devel
libXdmcp-devel
libxkbfile-devel
libXScrnSaver-devel
libxslt-devel
libXtst-devel
libXv-devel
libXxf86dga-devel
libXxf86vm-devel
libyaz-devel
libzrtpcpp-devel
lirc-devel
lm_sensors-devel
meanwhile-devel
mesa-libGL-devel
mftrace
mysql-devel
nas-devel
neon-devel
netpbm-progs
NetworkManager-libnm-devel
net-snmp-devel
net-tools
nspr-devel
ocaml
ocaml(compiler)
ocaml-facile-devel
OpenEXR-devel
openldap-devel
opensc
openslp-devel
opensp-devel
ortp-devel
pam-devel
pciutils-devel
pcre-devel
pcsc-lite-devel
pcsc-perl
perl
perl-devel
perl(ExtUtils::MakeMaker)
perl(PAR::Packer)
perl(XML::Parser)
pilot-link-devel
pkcs11-helper-devel
pkgconfig(pygtk-2.0)
polkit-devel
poppler-devel
postgresql
postgresql-private-devel
postgresql-server-devel
ppp
pulseaudio-libs-devel
python3.11
python3.11-devel
qt4-devel
recode
redhat-rpm-config
rpcgen
rpm-build
ruby
ruby-devel
sane-backends-devel
scons
SDL-devel
selinux-policy-devel
speex-devel
sqlite-devel
subversion-devel
sudo
swig
sword-devel
t1lib-devel
t1utils
taglib-devel
texinfo
texlive-newunicodechar
torsocks
transfig
udisks-devel
unixODBC-devel
usbutils
valgrind
xbase-devel
xine-lib-devel
xmedcon
xmedcon-devel
xmlto
xorg-x11-font-utils
xscreensaver
xscreensaver-extras
xz-devel

@ -0,0 +1,11 @@
[rpmbuild.${ARCH}]
name=rpmbuild.${ARCH}
baseurl=file:///home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH}
enabled=1
gpgcheck=0
[rpmbuild.noarch]
name=rpmbuild.noarch
baseurl=file:///home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch
enabled=1
gpgcheck=0

@ -0,0 +1,17 @@
%dist .fc39
%_smp_mflags -j8
%jobs 8
%__brp_remove_la_files %nil
%__cmake_builddir %nil
%__cmake_in_source_build 1
%_debugsource_packages %nil
%_debugsource_template %nil
%_fortify_level 2
%source_date_epoch_from_changelog 0
# Use python3.11 instead of default python3.12
%python python3.11
%python3 python3.11
%__python3 /usr/bin/python3.11
%__python_requires %nil
%__pythondist_requires %nil

@ -63,7 +63,9 @@ BuildRequires: autoconf automake libtool m4
BuildRequires: gcc-c++
# PYTHON support
%if "%{python}" == ""
%global python python3
%endif
%global __python %__python3
%global python_sitearch %{python3_sitearch}
%{!?python_sitearch:%global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}

@ -75,7 +75,9 @@ BuildRequires: sip4-tqt-devel >= 4.10.5
Requires: sip4-tqt >= 4.10.5
# PYTHON support
%if "%{python}" == ""
%global python python3
%endif
%global __python %__python3
%global python_sitearch %{python3_sitearch}
%{!?python_sitearch:%global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}

Loading…
Cancel
Save