aboutsummaryrefslogtreecommitdiff
path: root/release
diff options
context:
space:
mode:
authordcommander <dcommander@632fc199-4ca6-4c93-a231-07263d6284db>2013-04-19 04:25:14 +0000
committerdcommander <dcommander@632fc199-4ca6-4c93-a231-07263d6284db>2013-04-19 04:25:14 +0000
commitae39699b76a4e0a8d778ead0c9b4b22ee14c0194 (patch)
treea498475e71be307d7eead712bc5bf6ddd21e76d7 /release
parent8fc7175a777147aaa9939e5434c74296e38dd5d4 (diff)
Overhaul Linux/Unix packaging system, primarily to avoid conflicts with vendor-supplied libjpeg-turbo packages (such as in Fedora and RHEL 6.) This also streamlines the packaging system somewhat, since it is no longer necessary to move the TurboJPEG libraries into the system library directory. Relocating those libraries was originally done to provide backward compatibility with TurboJPEG/IPP, but that package is long obsolete, and the software that formerly used it has been linking statically with libjpeg-turbo for quite some time.
If the default prefix (/opt/libjpeg-turbo) is used, then we now always install 32-bit libraries in /opt/libjpeg-turbo/lib32 and 64-bit libraries in /opt/libjpeg-turbo/lib64 instead of trying to conform to the Debian or Red Hat conventions. The RPM and DEB packages will now be created with the directory structure defined by the configure variables "prefix", "bindir", "libdir", etc., with the exception that the docs are always installed under /usr/share/doc/{package_name}-{version}. git-svn-id: svn://svn.code.sf.net/p/libjpeg-turbo/code/trunk@944 632fc199-4ca6-4c93-a231-07263d6284db
Diffstat (limited to 'release')
-rw-r--r--release/libjpeg-turbo.spec.in143
-rw-r--r--release/makedpkg.in59
2 files changed, 107 insertions, 95 deletions
diff --git a/release/libjpeg-turbo.spec.in b/release/libjpeg-turbo.spec.in
index c3fba3c..651bb33 100644
--- a/release/libjpeg-turbo.spec.in
+++ b/release/libjpeg-turbo.spec.in
@@ -1,11 +1,32 @@
+# Path under which libjpeg-turbo should be installed
+%define _prefix %{__prefix}
+
+# Path under which executables should be installed
+%define _bindir %{__bindir}
+
+# Path under which Java classes and man pages should be installed
+%define _datadir %{__datadir}
+
+# Path under which docs should be installed
+%define _docdir %{_defaultdocdir}/%{name}-%{version}
+
+# Path under which headers should be installed
+%define _includedir %{__includedir}
+
+# _libdir is set to %{_prefix}/%{_lib} by default
%ifarch x86_64
-%define __lib lib64
+%define _lib lib64
%else
-%define __lib lib
+%if "%{_prefix}" == "/opt/libjpeg-turbo"
+%define _lib lib32
+%endif
%endif
+# Path under which man pages should be installed
+%define _mandir %{__mandir}
+
Summary: A SIMD-accelerated JPEG codec that provides both the libjpeg and TurboJPEG APIs
-Name: @PACKAGE_NAME@
+Name: @PKGNAME@
Version: @VERSION@
Vendor: The libjpeg-turbo Project
URL: http://www.libjpeg-turbo.org
@@ -16,11 +37,10 @@ License: BSD-style
BuildRoot: %{_blddir}/%{name}-buildroot-%{version}-%{release}
Prereq: /sbin/ldconfig
%ifarch x86_64
-Provides: %{name} = %{version}-%{release}, turbojpeg = 2.00, libturbojpeg.so()(64bit)
+Provides: %{name} = %{version}-%{release}, libturbojpeg.so()(64bit)
%else
-Provides: %{name} = %{version}-%{release}, turbojpeg = 2.00, libturbojpeg.so
+Provides: %{name} = %{version}-%{release}, libturbojpeg.so
%endif
-Obsoletes: turbojpeg
%description
libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2,
@@ -45,27 +65,36 @@ of making high-speed JPEG compression/decompression technology available to a
broader range of users and developers.
#-->%prep
-#-->%setup -q
+#-->%setup -q -n libjpeg-turbo-%{version}
#-->%build
-#-->./configure libdir=/opt/%{name}/%{__lib} mandir=/opt/%{name}/man JPEG_LIB_VERSION=@JPEG_LIB_VERSION@ SO_MAJOR_VERSION=@SO_MAJOR_VERSION@ SO_MINOR_VERSION=@SO_MINOR_VERSION@ --with-pic @RPM_CONFIG_ARGS@
-#-->make DESTDIR=$RPM_BUILD_ROOT libdir=/opt/%{name}/%{__lib} mandir=/opt/%{name}/man
+#-->./configure prefix=%{_prefix} bindir=%{_bindir} datadir=%{_datadir} \
+#--> docdir=%{_docdir} includedir=%{_includedir} libdir=%{_libdir} \
+#--> mandir=%{_mandir} JPEG_LIB_VERSION=@JPEG_LIB_VERSION@ \
+#--> SO_MAJOR_VERSION=@SO_MAJOR_VERSION@ SO_MINOR_VERSION=@SO_MINOR_VERSION@ \
+#--> --with-pic @RPM_CONFIG_ARGS@
+#-->make DESTDIR=$RPM_BUILD_ROOT
%install
rm -rf $RPM_BUILD_ROOT
-make install DESTDIR=$RPM_BUILD_ROOT libdir=/opt/%{name}/%{__lib} mandir=/opt/%{name}/man docdir=/opt/%{name}/doc exampledir=/opt/%{name}/doc
-rm -f $RPM_BUILD_ROOT/opt/%{name}/%{__lib}/*.la
-mkdir -p $RPM_BUILD_ROOT/usr/%{__lib}
-mv $RPM_BUILD_ROOT/opt/%{name}/%{__lib}/libturbojpeg.* $RPM_BUILD_ROOT/usr/%{__lib}
-/sbin/ldconfig -n $RPM_BUILD_ROOT/opt/%{name}/%{__lib}
-/sbin/ldconfig -n $RPM_BUILD_ROOT/usr/%{__lib}
-mkdir -p $RPM_BUILD_ROOT/usr/include
-mv $RPM_BUILD_ROOT/opt/%{name}/include/turbojpeg.h $RPM_BUILD_ROOT/usr/include
-ln -fs /usr/include/turbojpeg.h $RPM_BUILD_ROOT/opt/%{name}/include/
-ln -fs /usr/%{__lib}/libturbojpeg.a $RPM_BUILD_ROOT/opt/%{name}/%{__lib}/
-mkdir -p $RPM_BUILD_ROOT%{_defaultdocdir}
-mv $RPM_BUILD_ROOT/opt/%{name}/doc $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}-%{version}
+make install DESTDIR=$RPM_BUILD_ROOT docdir=%{_docdir} exampledir=%{_docdir}
+rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
+/sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}
+
+#-->%if 0
+
+LJT_LIBDIR=%{__libdir}
+if [ ! "$LJT_LIBDIR" = "%{_libdir}" ]; then
+ echo ERROR: libjpeg-turbo must be configured with libdir=%{_prefix}/%{_lib} when generating an in-tree RPM for this architecture.
+ exit 1
+fi
+
+#-->%endif
+
+%if "%{_prefix}" == "/opt/libjpeg-turbo" && "%{_docdir}" != "%{_prefix}/doc"
+ ln -fs %{_docdir} $RPM_BUILD_ROOT/%{_prefix}/doc
+%endif
%post -p /sbin/ldconfig
@@ -76,44 +105,42 @@ rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
-%dir %{_defaultdocdir}/%{name}-%{version}
-%doc %{_defaultdocdir}/%{name}-%{version}/*
-%dir /opt/%{name}
-%dir /opt/%{name}/bin
-/opt/%{name}/bin/cjpeg
-/opt/%{name}/bin/djpeg
-/opt/%{name}/bin/jpegtran
-/opt/%{name}/bin/tjbench
-/opt/%{name}/bin/rdjpgcom
-/opt/%{name}/bin/wrjpgcom
-%dir /opt/%{name}/%{__lib}
-%ifarch x86_64
-%else
-/opt/%{name}/lib32
+%dir %{_docdir}
+%doc %{_docdir}/*
+%dir %{_prefix}
+%if "%{_prefix}" == "/opt/libjpeg-turbo" && "%{_docdir}" != "%{_prefix}/doc"
+ %{_prefix}/doc
%endif
-/opt/%{name}/%{__lib}/libjpeg.so.@SO_MAJOR_VERSION@.@SO_AGE@.@SO_MINOR_VERSION@
-/opt/%{name}/%{__lib}/libjpeg.so.@SO_MAJOR_VERSION@
-/opt/%{name}/%{__lib}/libjpeg.so
-/opt/%{name}/%{__lib}/libjpeg.a
-/opt/%{name}/%{__lib}/libturbojpeg.a
-/usr/%{__lib}/libturbojpeg.so.0.0.0
-/usr/%{__lib}/libturbojpeg.so.0
-/usr/%{__lib}/libturbojpeg.so
-/usr/%{__lib}/libturbojpeg.a
-/usr/include/turbojpeg.h
-%dir /opt/%{name}/include
-/opt/%{name}/include/jconfig.h
-/opt/%{name}/include/jerror.h
-/opt/%{name}/include/jmorecfg.h
-/opt/%{name}/include/jpeglib.h
-/opt/%{name}/include/turbojpeg.h
-%dir /opt/%{name}/man
-%dir /opt/%{name}/man/man1
-/opt/%{name}/man/man1/cjpeg.1*
-/opt/%{name}/man/man1/djpeg.1*
-/opt/%{name}/man/man1/jpegtran.1*
-/opt/%{name}/man/man1/rdjpgcom.1*
-/opt/%{name}/man/man1/wrjpgcom.1*
+%dir %{_bindir}
+%{_bindir}/cjpeg
+%{_bindir}/djpeg
+%{_bindir}/jpegtran
+%{_bindir}/tjbench
+%{_bindir}/rdjpgcom
+%{_bindir}/wrjpgcom
+%dir %{_libdir}
+%{_libdir}/libjpeg.so.@SO_MAJOR_VERSION@.@SO_AGE@.@SO_MINOR_VERSION@
+%{_libdir}/libjpeg.so.@SO_MAJOR_VERSION@
+%{_libdir}/libjpeg.so
+%{_libdir}/libjpeg.a
+%{_libdir}/libturbojpeg.so.0.0.0
+%{_libdir}/libturbojpeg.so.0
+%{_libdir}/libturbojpeg.so
+%{_libdir}/libturbojpeg.a
+%dir %{_includedir}
+%{_includedir}/jconfig.h
+%{_includedir}/jerror.h
+%{_includedir}/jmorecfg.h
+%{_includedir}/jpeglib.h
+%{_includedir}/turbojpeg.h
+%dir %{_mandir}
+%dir %{_mandir}/man1
+%{_mandir}/man1/cjpeg.1*
+%{_mandir}/man1/djpeg.1*
+%{_mandir}/man1/jpegtran.1*
+%{_mandir}/man1/rdjpgcom.1*
+%{_mandir}/man1/wrjpgcom.1*
+%dir %{_datadir}
@JAVA_RPM_CONTENTS_1@
@JAVA_RPM_CONTENTS_2@
diff --git a/release/makedpkg.in b/release/makedpkg.in
index 628e0a6..bd34b0b 100644
--- a/release/makedpkg.in
+++ b/release/makedpkg.in
@@ -23,9 +23,6 @@ makedeb()
if [ $SUPPLEMENT = 1 ]; then
PACKAGE_NAME=$PACKAGE_NAME\32
DEBARCH=amd64
- __LIB=lib32
- else
- __LIB=lib
fi
umask 022
@@ -36,52 +33,40 @@ makedeb()
| sed s/{__VERSION}/$VERSION/g | sed s/{__BUILD}/$BUILD/g \
| sed s/{__ARCH}/$DEBARCH/g > $TMPDIR/DEBIAN/control)
- make install prefix=$TMPDIR/opt/$DIRNAME libdir=$TMPDIR/opt/$DIRNAME/$__LIB \
- mandir=$TMPDIR/opt/$DIRNAME/man \
- docdir=$TMPDIR/usr/share/doc/$DIRNAME-$VERSION \
- exampledir=$TMPDIR/usr/share/doc/$DIRNAME-$VERSION
- rm -f $TMPDIR/opt/$DIRNAME/$__LIB/*.la
-
if [ $SUPPLEMENT = 1 ]; then
- rm -rf $TMPDIR/opt/$DIRNAME/include
- rm -rf $TMPDIR/opt/$DIRNAME/man
- rm -rf $TMPDIR/opt/$DIRNAME/bin
- rm -rf $TMPDIR/opt/$DIRNAME/classes
- rm -rf $TMPDIR/usr
- fi
-
- mkdir -p $TMPDIR/usr/$__LIB
- mv $TMPDIR/opt/$DIRNAME/$__LIB/libturbojpeg.* $TMPDIR/usr/$__LIB
- ln -fs /usr/$__LIB/libturbojpeg.a $TMPDIR/opt/$DIRNAME/$__LIB/
- /sbin/ldconfig -n $TMPDIR/opt/$DIRNAME/$__LIB
- /sbin/ldconfig -n $TMPDIR/usr/$__LIB
-
- if [ ! $SUPPLEMENT = 1 ]; then
- if [ "$DEBARCH" = "amd64" ]; then
- ln -fs lib $TMPDIR/opt/$DIRNAME/lib64
- else
- if [ ! "$__LIB" = "lib32" ]; then
- ln -fs lib $TMPDIR/opt/$DIRNAME/lib32
- fi
- fi
- mkdir -p $TMPDIR/usr/include
- mv $TMPDIR/opt/$DIRNAME/include/turbojpeg.h $TMPDIR/usr/include
- ln -fs /usr/include/turbojpeg.h $TMPDIR/opt/$DIRNAME/include/
+ make install DESTDIR=$TMPDIR bindir=/dummy/bin datadir=/dummy/data \
+ docdir=/dummy/doc includedir=/dummy/include mandir=/dummy/man
+ rm -f $TMPDIR$LIBDIR/*.la
+ rm -rf $TMPDIR/dummy
else
- mkdir -p $TMPDIR/usr/lib/i386-linux-gnu
- ln -fs /usr/lib32/libturbojpeg.so $TMPDIR/usr/lib/i386-linux-gnu/libturbojpeg.so
- ln -fs /usr/lib32/libturbojpeg.a $TMPDIR/usr/lib/i386-linux-gnu/libturbojpeg.a
+ make install DESTDIR=$TMPDIR docdir=/usr/share/doc/$DIRNAME-$VERSION \
+ exampledir=/usr/share/doc/$DIRNAME-$VERSION
+ rm -f $TMPDIR$LIBDIR/*.la
+ echo $PREFIX $DOCDIR
+ if [ "$PREFIX" = "/opt/libjpeg-turbo" -a "$DOCDIR" != "/usr/share/doc/$DIRNAME-$VERSION" ]; then
+ ln -fs /usr/share/doc/$DIRNAME-$VERSION $TMPDIR$PREFIX/doc
+ fi
fi
+ /sbin/ldconfig -n $TMPDIR$LIBDIR
+
sudo chown -Rh root:root $TMPDIR/*
dpkg -b $TMPDIR $PACKAGE_NAME\_$VERSION\_$DEBARCH.deb
}
-PACKAGE_NAME=@PACKAGE_NAME@
+PACKAGE_NAME=@PKGNAME@
VERSION=@VERSION@
BUILD=@BUILD@
DEBARCH=@DEBARCH@
SRCDIR=@abs_top_srcdir@
+PREFIX=%{__prefix}
+BINDIR=%{__bindir}
+DATADIR=%{__datadir}
+DOCDIR=%{__docdir}
+INCDIR=%{__includedir}
+LIBDIR=%{__libdir}
+MANDIR=%{__mandir}
+
makedeb 0
if [ "$DEBARCH" = "i386" ]; then makedeb 1; fi