add spec file
authorAnas Nashif <anas.nashif@intel.com>
Thu, 11 Oct 2012 18:55:01 +0000 (11:55 -0700)
committerAnas Nashif <anas.nashif@intel.com>
Sun, 3 Feb 2013 00:44:13 +0000 (16:44 -0800)
packaging/rpm.spec [new file with mode: 0644]

diff --git a/packaging/rpm.spec b/packaging/rpm.spec
new file mode 100644 (file)
index 0000000..766fe46
--- /dev/null
@@ -0,0 +1,371 @@
+Name:           rpm
+BuildRequires:  binutils
+BuildRequires:  bzip2
+BuildRequires:  libfile-devel
+BuildRequires:  findutils
+BuildRequires:  gcc
+BuildRequires:  gettext-tools
+BuildRequires:  glibc-devel
+BuildRequires:  gzip
+BuildRequires:  libacl-devel
+BuildRequires:  bzip2-devel
+BuildRequires:  libcap-devel
+BuildRequires:  libelf-devel
+BuildRequires:  libtool
+BuildRequires:  lua-devel
+BuildRequires:  make
+BuildRequires:  pkgconfig(ncurses)
+BuildRequires:  patch
+BuildRequires:  popt-devel
+BuildRequires:  xz-devel
+BuildRequires:  zlib-devel
+BuildRequires:  nss-devel
+%if 0%{?enable_security}
+BuildRequires:  uthash-devel
+BuildRequires:  libxml2-devel
+BuildRequires:  libattr-devel
+BuildRequires:  libsmack-devel
+%endif
+
+Provides:       rpminst
+Provides:      rpm-libs
+Summary:        The RPM Package Manager
+License:        GPL-2.0+
+Group:          System/Packages
+Version:        4.9.1.2
+Release:        0
+Source:         rpm-%{version}.tar.bz2
+Source1:        RPM-HOWTO.tar.bz2
+Source2:        RPM-Tips.html.tar.bz2
+Source4:        rpm-tizen_macros
+Source5:        rpmsort
+Source6:        symset-table
+Source8:        rpmconfigcheck
+Source11:       db-4.8.30.tar.bz2
+Source13:      find-docs.sh
+Source22:      device-sec-policy
+Patch2:         db.diff
+# quilt patches start here
+Patch11:        debugedit.diff
+Patch12:        localetag.diff
+Patch13:        missingok.diff
+Patch14:        nameversioncompare.diff
+Patch15:        dbfsync.diff
+Patch16:        dbrointerruptable.diff
+Patch17:        extcond.diff
+Patch18:        refreshtestarch.diff
+Patch19:        rpmrctests.diff
+Patch20:        waitlock.diff
+Patch21:        suspendlock.diff
+Patch22:        weakdeps.diff
+Patch23:        autodeps.diff
+Patch24:        brp.diff
+Patch25:        brpcompress.diff
+Patch26:        checkfilesnoinfodir.diff
+Patch27:        finddebuginfo.diff
+Patch28:        findksyms.diff
+Patch29:        findlang.diff
+Patch30:        macrosin.diff
+Patch31:        modalias.diff
+Patch32:        platformin.diff
+Patch33:        rpmpopt.diff
+Patch34:        rpmrc.diff
+Patch35:        taggedfileindex.diff
+Patch36:        rpmqpack.diff
+Patch37:        convertdb1static.diff
+Patch38:        build.diff
+Patch39:        modalias-kernel_module.diff
+Patch40:        files.diff
+Patch41:        debugedit-comp-dir.diff
+Patch42:        perlprov.diff
+Patch43:        rpm-shorten-changelog.diff
+Patch44:        debugsource-package.diff
+Patch45:        whatrequires-doc.diff
+Patch46:        remove-brp-strips.diff
+Patch47:        requires-ge-macro.diff
+Patch48:        debugedit-canon-fix.diff
+Patch49:        finddebuginfo-absolute-links.diff
+Patch50:        firmware.diff
+Patch51:        specfilemacro.diff
+Patch52:        modalias-encode.diff
+Patch53:        disttag-macro.diff
+Patch54:        buildidprov.diff
+Patch55:        debugsubpkg.diff
+Patch56:        debuglink.diff
+Patch57:        debuginfo-mono.patch
+Patch58:        lazystatfs.diff
+Patch59:        repackage-nomd5.diff
+Patch60:        safeugid.diff
+Patch61:        noprereqdeprec.diff
+Patch62:        pythondeps.diff
+Patch63:        fontprovides.diff
+Patch64:        rpm-gst-provides.patch
+Patch65:        langnoc.diff
+Patch66:        initscriptsprov.diff
+Patch67:        remove-translations.diff
+Patch68:        no_rep_autop.diff
+Patch69:        headeradddb.diff
+Patch70:        dbprivate.diff
+Patch71:        nobuildcolor.diff
+Patch72:        fileattrs.diff
+Patch73:        nomagiccheck.diff
+Patch74:        findsupplements.diff
+Patch75:        assumeexec.diff
+Patch76:        buildpipe.diff
+Patch77:        mono-find-requires.diff
+Patch78:        debugedit-stabs-warning.diff
+Patch79:        headerchk.diff
+Patch80:        rpm-deptracking.patch
+Patch81:        python3-abi-kind.diff
+Patch82:        perl-python-attr.patch
+Patch100:      security_4.9.1.patch
+BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+#
+# avoid bootstrapping problem
+%define _binary_payload w9.bzdio
+
+%description
+RPM Package Manager is the main tool for managing the software packages
+of the SuSE Linux distribution.
+
+RPM can be used to install and remove software packages. With rpm, it
+is easy to update packages.  RPM keeps track of all these manipulations
+in a central database. This way it is possible to get an overview of
+all installed packages.  RPM also supports database queries.
+
+%package devel
+Summary:        Include Files and Libraries mandatory for Development
+Group:          System/Packages
+Requires:       rpm = %{version}
+# for people confusing the one with the other
+#Recommends:     rpm-build = %{version}
+Requires:       popt-devel
+
+%description devel
+This package contains the RPM C library and header files.  These
+development files will simplify the process of writing programs which
+manipulate RPM packages and databases and are intended to make it
+easier to create graphical package managers or any other tools that
+need an intimate knowledge of RPM packages in order to function.
+
+%package build
+Summary:        Tools and Scripts to create rpm packages
+Group:          System/Packages
+Requires:       rpm = %{version}
+Provides:       rpmbuild rpm:%_bindir/rpmbuild
+# SUSE's build essentials
+Requires:       bzip2
+Requires:       xz
+Requires:       gzip
+Requires:       binutils
+Requires:       make
+Requires:       gcc
+Requires:       findutils
+Requires:       patch
+Requires:       glibc-devel
+
+%description build
+If you want to build a rpm, you need this package. It provides rpmbuild
+and requires some packages that are usually required 
+
+%package security-plugin
+Summary: MSM security plugin for rpm
+Group: Development/Libraries
+Requires: rpm = %{version}-%{release}
+Requires: libsmack
+Requires: libxml2
+Requires: file
+Requires: uthash
+Requires: nss
+
+%description security-plugin
+This package contains the MSM security plugin for rpm that performs
+security-related functionality. 
+
+
+%prep
+%setup -q -n rpm-%{version}
+rm -rf sqlite
+rm -rf beecrypt
+#tar xjf %{SOURCE10}
+tar xjf %{SOURCE11}
+ln -s db-4.8.30 db
+#ln -s beecrypt-4.1.2 beecrypt
+chmod -R u+w db/*
+#tar xjf %{SOURCE12}
+#ln -s neon-0.24.7 neon
+# will get linked from db3
+rm -f rpmdb/db.h
+%patch -P 2
+%patch -P 11 -P 12 -P 13 -P 14 -P 15 -P 16 -P 17 -P 18 -P 19
+%patch -P 20 -P 21 -P 22 -P 23 -P 24 -P 25 -P 26 -P 27 -P 28 -P 29
+%patch -P 30 -P 31 -P 32 -P 33 -P 34 -P 35 -P 36 -P 37 -P 38 -P 39
+%patch -P 40 -P 41 -P 42 -P 43 -P 44 -P 45 -P 46 -P 47 -P 48 -P 49
+%patch -P 50 -P 51 -P 52 -P 53 -P 54 -P 55 -P 56 -P 57 -P 58 -P 59
+%patch -P 60 -P 61 -P 62 -P 63 -P 64 -P 65 -P 66 -P 67 -P 68 -P 69
+%patch -P 70 -P 71 -P 72 -P 73 -P 74 -P 75 -P 76 -P 77 -P 78 -P 79 
+%patch -P 80 -P 81 -P 82
+%patch -p1 -P 100
+#chmod 755 scripts/find-supplements{,.ksyms}
+#chmod 755 scripts/find-provides.ksyms scripts/find-requires.ksyms
+#chmod 755 scripts/firmware.prov
+#chmod 755 scripts/debuginfo.prov
+tar -xjvf %{SOURCE1}
+tar -xjvf %{SOURCE2}
+if [ -s /etc/rpm/tizen_macros ]; then
+       cp -a /etc/rpm/tizen_macros %{SOURCE4}
+fi
+cp -a %{SOURCE4} tizen_macros
+rm -f m4/libtool.m4
+rm -f m4/lt*.m4
+
+%build
+CPPFLAGS="$CPPFLAGS `pkg-config --cflags nss`"
+export CPPFLAGS 
+export CFLAGS="%{optflags} -ffunction-sections"
+export LDFLAGS="-Wl,-Bsymbolic-functions -ffunction-sections"
+%ifarch armv5tel
+export CFLAGS="-g -O0 -fno-strict-aliasing -ffunction-sections"
+%endif
+
+%if %{_target_cpu}
+%ifarch %arm
+BUILDTARGET="--build=%{_target_cpu}-tizen-linux-gnueabi"
+%else
+BUILDTARGET="--build=%{_target_cpu}-tizen-linux"
+%endif
+%endif
+
+autoreconf -i -f
+./configure --disable-dependency-tracking --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
+--libdir=%{_libdir} --sysconfdir=/etc --localstatedir=/var  --with-lua \
+--with-acl --with-cap  --enable-shared %{?with_python: --enable-python} $BUILDTARGET
+
+rm po/de.gmo
+make %{?_smp_mflags}
+make convertdb1
+
+%install
+mkdir -p %{buildroot}/usr/lib
+mkdir -p %{buildroot}/usr/share/locale
+ln -s ../share/locale %{buildroot}/usr/lib/locale
+%make_install
+install -m 755 convertdb1 %{buildroot}/usr/lib/rpm
+install -m 644 db3/db.h %{buildroot}/usr/include/rpm
+# remove .la file and the static variant of libpopt
+# have to remove the dependency from other .la files as well
+#for f in %{buildroot}/%{_libdir}/*.la; do
+#    sed -i -e "s,/%_lib/libpopt.la,-lpopt,g" $f
+#done
+mkdir -p %{buildroot}%{_sysconfdir}/rpm
+cp -a tizen_macros %{buildroot}/usr/lib/rpm
+mkdir -p %{buildroot}/usr/lib/rpm/tizen
+install -m 755 %{SOURCE13} %{buildroot}/usr/lib/rpm/tizen
+%if 0%{?enable_security}
+install -m 644 %{SOURCE22} ${RPM_BUILD_ROOT}%{_sysconfdir}/device-sec-policy
+%endif
+ln -s ../tizen_macros %{buildroot}/usr/lib/rpm/tizen/macros
+for d in BUILD RPMS SOURCES SPECS SRPMS BUILDROOT ; do
+  mkdir -p %{buildroot}/usr/src/packages/$d
+  chmod 755 %{buildroot}/usr/src/packages/$d
+done
+for d in %{buildroot}/usr/lib/rpm/platform/*-linux/macros ; do
+  dd=${d%%-linux/macros}
+  dd=${dd##*/}
+  mkdir %{buildroot}/usr/src/packages/RPMS/$dd
+  chmod 755 %{buildroot}/usr/src/packages/RPMS/$dd
+done
+mkdir -p %{buildroot}/var/lib/rpm
+gzip -9 %{buildroot}/%{_mandir}/man[18]/*.[18]
+export RPM_BUILD_ROOT
+chmod 755 doc/manual
+rm -rf doc/manual/Makefile*
+rm -f %{buildroot}/usr/lib/rpmpopt
+rm -rf %{buildroot}%{_mandir}/{fr,ja,ko,pl,ru,sk}
+rm -f %{buildroot}%{_prefix}/share/locale/de/LC_MESSAGES/rpm.mo
+rm -f %{buildroot}/usr/lib/rpm/cpanflute %{buildroot}/usr/lib/rpm/cpanflute2
+install -m 755 %{SOURCE5} %{buildroot}/usr/lib/rpm
+install -m 755 %{SOURCE6} %{buildroot}/usr/lib/rpm
+install -m 755 scripts/find-supplements{,.ksyms} %{buildroot}/usr/lib/rpm
+install -m 755 scripts/firmware.prov %{buildroot}/usr/lib/rpm
+install -m 755 scripts/debuginfo.prov %{buildroot}/usr/lib/rpm
+rm -f %{buildroot}/usr/lib/locale %{buildroot}/usr/lib/rpmrc
+mkdir -p %{buildroot}/etc/rpm
+chmod 755 %{buildroot}/etc/rpm
+# remove some nonsense or non-working scripts
+pushd %{buildroot}/usr/lib/rpm/
+for f in rpm2cpio.sh rpm.daily rpmdiff* rpm.log rpm.xinetd freshen.sh u_pkg.sh \
+         magic magic.mgc magic.mime* rpmfile *.pl javadeps brp-redhat \
+         brp-strip-static-archive vpkg-provides*.sh http.req sql.req tcl.req \
+         rpmdb_* brp-sparc64-linux brp-strip-comment-note brp-java-gcjcompile
+do
+    rm -f $f
+done
+for i in /usr/share/automake-*/*; do
+  if test -f "$i" && test -f "${i##*/}"; then
+    rm -f "${i##*/}"
+  fi
+done
+popd
+gzip -9 CHANGES
+rm -rf %{buildroot}/%{_libdir}/python%{py_ver}
+rm -f %{buildroot}%{_libdir}/*.la
+rm -f %{buildroot}%{_libdir}/rpm-plugins/*.la
+sh %{buildroot}/usr/lib/rpm/find-lang.sh %{buildroot} rpm
+%ifarch armv7hl
+# rpm is using the host_cpu as default for the platform, but armv7hl is not known by the kernel.
+# so we need to enforce the platform here.
+# We don't want to use armv7l because it would make us incompatible to Fedora and MeeGo plattforms.
+echo -n armv7hl-suse-linux> %{buildroot}/etc/rpm/platform
+%endif
+
+%post
+test -f var/lib/rpm/Packages || rpm --initdb
+rm -f var/lib/rpm/Filemd5s var/lib/rpm/Filedigests var/lib/rpm/Requireversion var/lib/rpm/Provideversion
+
+
+%files -f rpm.lang
+%defattr(-,root,root)
+%doc   CHANGES.gz COPYING GROUPS
+%doc   doc/manual
+%doc    RPM-HOWTO RPM-Tips
+       /etc/rpm
+       /bin/rpm
+       /usr/bin/*
+        %exclude /usr/bin/rpmbuild
+       /usr/lib/rpm
+%dir   %{_libdir}/rpm-plugins
+       %{_libdir}/rpm-plugins/exec.so
+       %{_libdir}/rpm-plugins/sepolicy.so
+       %{_libdir}/librpm.so.*
+       %{_libdir}/librpmbuild.so.*
+       %{_libdir}/librpmio.so.*
+       %{_libdir}/librpmsign.so.*
+%doc   %{_mandir}/man[18]/*.[18]*
+%dir   /var/lib/rpm
+%dir   %attr(755,root,root) /usr/src/packages/BUILD
+%dir   %attr(755,root,root) /usr/src/packages/SPECS
+%dir   %attr(755,root,root) /usr/src/packages/SOURCES
+%dir   %attr(755,root,root) /usr/src/packages/SRPMS
+%dir   %attr(755,root,root) /usr/src/packages/RPMS
+%dir   %attr(755,root,root) /usr/src/packages/BUILDROOT
+%dir   %attr(755,root,root) /usr/src/packages/RPMS/*
+
+%files build
+%defattr(-,root,root)
+/usr/bin/rpmbuild
+
+%files devel
+%defattr(644,root,root,755)
+       /usr/include/rpm
+        %{_libdir}/librpm.so
+        %{_libdir}/librpmbuild.so
+        %{_libdir}/librpmio.so
+        %{_libdir}/librpmsign.so
+        %{_libdir}/pkgconfig/rpm.pc
+%if 0%{?enable_security}
+%files security-plugin
+%defattr(-,root,root)
+%{_libdir}/rpm-plugins/msm.so
+%config(noreplace) %{_sysconfdir}/device-sec-policy
+%endif