summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Heimes <cheimes@redhat.com>2017-02-16 15:27:49 +0100
committerMartin Basti <mbasti@redhat.com>2017-03-02 14:43:37 +0100
commit2e784336b0fe99baa47cf3e024f744ed56dc12ec (patch)
tree7e475f1959f400ff8534a1d4e6da465628695240
parented7a03a1af8b556247b929635e2972be4f2b32e4 (diff)
downloadfreeipa-2e784336b0fe99baa47cf3e024f744ed56dc12ec.tar.gz
freeipa-2e784336b0fe99baa47cf3e024f744ed56dc12ec.tar.xz
freeipa-2e784336b0fe99baa47cf3e024f744ed56dc12ec.zip
Packaging: Add placeholder packages
The ipa and freeipa packages are placeholders to prevent PyPI squashing attacks and reserve the names for future use. `pip install ipa` installs ipaclient. Signed-off-by: Christian Heimes <cheimes@redhat.com> Reviewed-By: Martin Basti <mbasti@redhat.com>
-rw-r--r--Makefile.am6
-rw-r--r--Makefile.python.am21
-rw-r--r--configure.ac3
-rw-r--r--packaging/Makefile.am10
-rw-r--r--packaging/freeipa/Makefile.am3
-rw-r--r--packaging/freeipa/README.txt2
-rw-r--r--packaging/freeipa/setup.cfg6
-rwxr-xr-xpackaging/freeipa/setup.py23
-rw-r--r--packaging/ipa/Makefile.am3
-rw-r--r--packaging/ipa/README.txt2
-rw-r--r--packaging/ipa/setup.cfg6
-rwxr-xr-xpackaging/ipa/setup.py23
12 files changed, 97 insertions, 11 deletions
diff --git a/Makefile.am b/Makefile.am
index a35d18ffe..9595c9dbe 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -9,11 +9,9 @@ if WITH_IPATESTS
endif
IPACLIENT_SUBDIRS = ipaclient ipalib ipapython
-
-SUBDIRS = asn1 util client contrib po \
+SUBDIRS = asn1 util client contrib po pypi \
$(IPACLIENT_SUBDIRS) ipaplatform $(IPATESTS_SUBDIRS) $(SERVER_SUBDIRS)
-
MOSTLYCLEANFILES = ipasetup.pyc ipasetup.pyo \
ignore_import_errors.pyc ignore_import_errors.pyo \
ipasetup.pyc ipasetup.pyo \
@@ -217,6 +215,8 @@ $(WHEELBUNDLEDIR):
mkdir -p $(WHEELBUNDLEDIR)
bdist_wheel: $(WHEELDISTDIR)
+ $(MAKE) $(AM_MAKEFLAGS) -C packaging/ipa bdist_wheel || exit 1;
+ $(MAKE) $(AM_MAKEFLAGS) -C packaging/freeipa bdist_wheel || exit 1;
for dir in $(IPACLIENT_SUBDIRS); do \
$(MAKE) $(AM_MAKEFLAGS) -C $${dir} $@ || exit 1; \
done
diff --git a/Makefile.python.am b/Makefile.python.am
index 665893f43..9c34fe3d0 100644
--- a/Makefile.python.am
+++ b/Makefile.python.am
@@ -1,5 +1,6 @@
pkgname = $(shell basename "$(abs_srcdir)")
pkgpythondir = $(pythondir)/$(pkgname)
+pkginstall = true
if VERBOSE_MAKE
VERBOSITY="--verbose"
@@ -19,16 +20,20 @@ all-local: $(top_builddir)/ipasetup.py
--build-base "$(abs_builddir)/build"
install-exec-local: $(top_builddir)/ipasetup.py
- $(PYTHON) $(srcdir)/setup.py \
- $(VERBOSITY) \
- install \
- --prefix "$(DESTDIR)$(prefix)" \
- --single-version-externally-managed \
- --record "$(DESTDIR)$(pkgpythondir)/install_files.txt" \
- --optimize 1
+ if [ "x$(pkginstall)" = "xtrue" ]; then \
+ $(PYTHON) $(srcdir)/setup.py \
+ $(VERBOSITY) \
+ install \
+ --prefix "$(DESTDIR)$(prefix)" \
+ --single-version-externally-managed \
+ --record "$(DESTDIR)$(pkgpythondir)/install_files.txt" \
+ --optimize 1; \
+ fi
uninstall-local:
- cat "$(DESTDIR)$(pkgpythondir)/install_files.txt" | xargs rm -rf
+ if [ -f "$(DESTDIR)$(pkgpythondir)/install_files.txt" ]; then \
+ cat "$(DESTDIR)$(pkgpythondir)/install_files.txt" | xargs rm -rf ; \
+ fi
rm -rf "$(DESTDIR)$(pkgpythondir)"
clean-local: $(top_builddir)/ipasetup.py
diff --git a/configure.ac b/configure.ac
index af41f5e3a..c52a2ec12 100644
--- a/configure.ac
+++ b/configure.ac
@@ -487,6 +487,9 @@ AC_CONFIG_FILES([
ipaserver/Makefile
ipatests/Makefile
ipatests/man/Makefile
+ packaging/Makefile
+ packaging/freeipa/Makefile
+ packaging/ipa/Makefile
po/Makefile.in
po/Makefile.hack
util/Makefile
diff --git a/packaging/Makefile.am b/packaging/Makefile.am
new file mode 100644
index 000000000..5725ed963
--- /dev/null
+++ b/packaging/Makefile.am
@@ -0,0 +1,10 @@
+# This file will be processed with automake-1.7 to create Makefile.in
+#
+AUTOMAKE_OPTIONS = 1.7 subdir-objects
+
+NULL =
+
+SUBDIRS = \
+ freeipa \
+ ipa \
+ $(NULL)
diff --git a/packaging/freeipa/Makefile.am b/packaging/freeipa/Makefile.am
new file mode 100644
index 000000000..15d86ce0c
--- /dev/null
+++ b/packaging/freeipa/Makefile.am
@@ -0,0 +1,3 @@
+include $(top_srcdir)/Makefile.python.am
+
+pkginstall = false
diff --git a/packaging/freeipa/README.txt b/packaging/freeipa/README.txt
new file mode 100644
index 000000000..b58448f20
--- /dev/null
+++ b/packaging/freeipa/README.txt
@@ -0,0 +1,2 @@
+This is a dummy package for FreeIPA's ipaclient.
+
diff --git a/packaging/freeipa/setup.cfg b/packaging/freeipa/setup.cfg
new file mode 100644
index 000000000..62f65c719
--- /dev/null
+++ b/packaging/freeipa/setup.cfg
@@ -0,0 +1,6 @@
+[bdist_wheel]
+universal = 1
+
+[aliases]
+packages = clean --all egg_info bdist_wheel
+release = packages register upload
diff --git a/packaging/freeipa/setup.py b/packaging/freeipa/setup.py
new file mode 100755
index 000000000..230fffd90
--- /dev/null
+++ b/packaging/freeipa/setup.py
@@ -0,0 +1,23 @@
+#
+# Copyright (C) 2017 FreeIPA Contributors see COPYING for license
+#
+"""Dummy package for FreeIPA
+
+Please install ipaclient instead.
+"""
+
+from os.path import abspath, dirname
+import sys
+
+if __name__ == '__main__':
+ # include ../../ for ipasetup.py
+ sys.path.append(dirname(dirname(dirname(abspath(__file__)))))
+ from ipasetup import ipasetup # noqa: E402
+
+ ipasetup(
+ name='freeipa',
+ doc = __doc__,
+ install_requires=[
+ "ipaclient",
+ ]
+ )
diff --git a/packaging/ipa/Makefile.am b/packaging/ipa/Makefile.am
new file mode 100644
index 000000000..15d86ce0c
--- /dev/null
+++ b/packaging/ipa/Makefile.am
@@ -0,0 +1,3 @@
+include $(top_srcdir)/Makefile.python.am
+
+pkginstall = false
diff --git a/packaging/ipa/README.txt b/packaging/ipa/README.txt
new file mode 100644
index 000000000..b58448f20
--- /dev/null
+++ b/packaging/ipa/README.txt
@@ -0,0 +1,2 @@
+This is a dummy package for FreeIPA's ipaclient.
+
diff --git a/packaging/ipa/setup.cfg b/packaging/ipa/setup.cfg
new file mode 100644
index 000000000..62f65c719
--- /dev/null
+++ b/packaging/ipa/setup.cfg
@@ -0,0 +1,6 @@
+[bdist_wheel]
+universal = 1
+
+[aliases]
+packages = clean --all egg_info bdist_wheel
+release = packages register upload
diff --git a/packaging/ipa/setup.py b/packaging/ipa/setup.py
new file mode 100755
index 000000000..403389b25
--- /dev/null
+++ b/packaging/ipa/setup.py
@@ -0,0 +1,23 @@
+#
+# Copyright (C) 2017 FreeIPA Contributors see COPYING for license
+#
+"""Dummy package for FreeIPA
+
+Please install ipaclient instead.
+"""
+
+from os.path import abspath, dirname
+import sys
+
+if __name__ == '__main__':
+ # include ../../ for ipasetup.py
+ sys.path.append(dirname(dirname(dirname(abspath(__file__)))))
+ from ipasetup import ipasetup # noqa: E402
+
+ ipasetup(
+ name='ipa',
+ doc = __doc__,
+ install_requires=[
+ "ipaclient",
+ ]
+ )