diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..6b9283cbf --- /dev/null +++ b/Makefile @@ -0,0 +1,68 @@ +SUBDIRS=ipa-server ipa-admintools + +PRJ_PREFIX=freeipa + +# Version numbers - this is for the entire server. After +# updating this you should run the version-update +# target. +SERV_MAJOR=0 +SERV_MINOR=1 +SERV_RELEASE=0 +SERV_VERSION=$(SERV_MAJOR).$(SERV_MINOR).$(SERV_RELEASE) + +SERV_TARBALL_PREFIX=$(PRJ_PREFIX)-server-$(SERV_VERSION) +SERV_TARBALL=$(SERV_TARBALL_PREFIX).tgz + +ADMIN_MAJOR=0 +ADMIN_MINOR=1 +ADMIN_RELEASE=0 +ADMIN_VERSION=$(ADMIN_MAJOR).$(ADMIN_MINOR).$(ADMIN_RELEASE) + +ADMIN_TARBALL_PREFIX=$(PRJ_PREFIX)-admintools-$(ADMIN_VERSION) +ADMIN_TARBALL=$(ADMIN_TARBALL_PREFIX).tgz + +all: + @for subdir in $(SUBDIRS); do \ + (cd $$subdir && $(MAKE) $@) || exit 1; \ + done + +install: + @for subdir in $(SUBDIRS); do \ + (cd $$subdir && $(MAKE) $@) || exit 1; \ + done + +clean: + @for subdir in $(SUBDIRS); do \ + (cd $$subdir && $(MAKE) $@) || exit 1; \ + done + +version-update: + sed s/VERSION/$(SERV_VERSION)/ ipa-server/freeipa-server.spec.in \ + > ipa-server/freeipa-server.spec +tarballs: + -mkdir -p dist + hg archive -t files dist/freeipa + + # ipa-server + mv dist/freeipa/ipa-server dist/$(SERV_TARBALL_PREFIX) + rm -f dist/$(SERV_TARBALL) + cd dist; tar cfz $(SERV_TARBALL) $(SERV_TARBALL_PREFIX) + rm -fr dist/$(SERV_TARBALL_PREFIX) + + # ipa-admintools + mv dist/freeipa/ipa-admintools dist/$(ADMIN_TARBALL_PREFIX) + rm -f dist/$(ADMIN_TARBALL) + cd dist; tar cfz $(ADMIN_TARBALL) $(ADMIN_TARBALL_PREFIX) + rm -fr dist/$(ADMIN_TARBALL_PREFIX) + + # cleanup + rm -fr dist/freeipa + +dist: version-update tarballs + cp dist/$(SERV_TARBALL) ~/rpmbuild/SOURCES/. + rpmbuild -ba ipa-server/freeipa-server.spec + cp ~/rpmbuild/RPMS/noarch/$(PRJ_PREFIX)-server-$(SERV_VERSION)-*.rpm dist/. + cp ~/rpmbuild/SRPMS/$(PRJ_PREFIX)-server-$(SERV_VERSION)-*.src.rpm dist/. + +dist-clean: clean + rm -fr dist diff --git a/ipa-admintools/Makefile b/ipa-admintools/Makefile new file mode 100644 index 000000000..8005c0b49 --- /dev/null +++ b/ipa-admintools/Makefile @@ -0,0 +1,5 @@ +all: + +install: + +clean: \ No newline at end of file diff --git a/ipa-server/ipa-install/src/ipa-server-install b/ipa-server/ipa-install/ipa-server-install similarity index 100% rename from ipa-server/ipa-install/src/ipa-server-install rename to ipa-server/ipa-install/ipa-server-install diff --git a/ipa-server/ipa-install/src/ipa-server-setupssl b/ipa-server/ipa-install/ipa-server-setupssl similarity index 100% rename from ipa-server/ipa-install/src/ipa-server-setupssl rename to ipa-server/ipa-install/ipa-server-setupssl diff --git a/ipa-server/ipa-install/src/Makefile b/ipa-server/ipa-install/src/Makefile deleted file mode 100644 index b54ceb179..000000000 --- a/ipa-server/ipa-install/src/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -PYTHONLIBDIR ?= /usr/share/ipa/python -PACKAGEDIR ?= $(DESTDIR)/$(PYTHONLIBDIR)/ipainstall -SBINDIR = $(DESTDIR)/usr/sbin - -all: ; - -install: - -mkdir -p $(PACKAGEDIR) - install -m 644 ipainstall/*.py $(PACKAGEDIR) - install -m 755 ipa-server-install $(SBINDIR) - install -m 755 ipa-server-setupssl $(SBINDIR) - -clean: - rm -f *~ *.pyc \ No newline at end of file diff --git a/ipa-server/ipa-install/src/ipa-server-install~ b/ipa-server/ipa-install/src/ipa-server-install~ deleted file mode 100644 index 52143eda5..000000000 --- a/ipa-server/ipa-install/src/ipa-server-install~ +++ /dev/null @@ -1,117 +0,0 @@ -#! /usr/bin/python -E -# Authors: Karl MacMillan -# -# Copyright (C) 2007 Red Hat -# see file 'COPYING' for use and warranty information -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; version 2 only -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# - - -# requires the following packages: -# fedora-ds-base -# openldap-clients -# nss-tools - -VERSION = "%prog .1" - -import socket -import logging -from optparse import OptionParser -import ipa.dsinstance -import ipa.krbinstance - -def parse_options(): - parser = OptionParser(version=VERSION) - parser.add_option("-u", "--user", dest="ds_user", - help="ds user") - parser.add_option("-r", "--realm", dest="realm_name", - help="realm name") - parser.add_option("-p", "--password", dest="password", - help="admin password") - parser.add_option("-m", "--master-password", dest="master_password", - help="kerberos master password") - parser.add_option("-d", "--debug", dest="debug", action="store_true", - dest="debug", default=False, help="print debugging information") - parser.add_option("--hostname", dest="host_name", help="fully qualified name of server") - - options, args = parser.parse_args() - - if not options.ds_user or not options.realm_name or not options.password or not options.master_password: - parser.error("error: all options are required") - - return options - -def logging_setup(options): - # Always log everything (i.e., DEBUG) to the log - # file. - logging.basicConfig(level=logging.DEBUG, - format='%(asctime)s %(levelname)s %(message)s', - filename='ipa-install.log', - filemode='w') - - console = logging.StreamHandler() - # If the debug option is set, also log debug messages to the console - if options.debug: - console.setLevel(logging.DEBUG) - else: - # Otherwise, log critical and error messages - console.setLevel(logging.ERROR) - formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s') - console.setFormatter(formatter) - logging.getLogger('').addHandler(console) - -def main(): - options = parse_options() - logging_setup(options) - - # check the hostname is correctly configured, it must be as the kldap - # utilities just use the hostname as returned by gethostbyname to set - # up some of the standard entries - - if options.host_name: - host_name = options.host_name - else: - host_name = socket.gethostname() - if len(host_name.split(".")) < 2: - print "Invalid hostname <"+host_name+">" - print "Check the /etc/hosts file and make sure to have a valid FQDN" - return "-Fatal Error-" - - if socket.gethostbyname(host_name) == "127.0.0.1": - print "The hostname resolves to the localhost address (127.0.0.1)" - print "Please change your /etc/hosts file or your DNS so that the" - print "hostname resolves to the ip address of your network interface." - print "The KDC service does not listen on 127.0.0.1" - return "-Fatal Error-" - - print "The Final KDC Host Name will be: " + host_name - - - # Create a directory server instance - ds = ipa.dsinstance.DsInstance() - ds.create_instance(options.ds_user, options.realm_name, host_name, - options.password) - - # Create a kerberos instance - krb = ipa.krbinstance.KrbInstance() - krb.create_instance(options.ds_user, options.realm_name, host_name, - options.password, options.master_password) - - #restart ds after the krb instance have add the sasl map - ds.restart() - - return 0 - -main() diff --git a/ipa-server/ipa-install/src/ipa/__init__.py b/ipa-server/ipaserver/__init__.py similarity index 100% rename from ipa-server/ipa-install/src/ipa/__init__.py rename to ipa-server/ipaserver/__init__.py diff --git a/ipa-server/ipa-install/src/ipa/dsinstance.py b/ipa-server/ipaserver/dsinstance.py similarity index 100% rename from ipa-server/ipa-install/src/ipa/dsinstance.py rename to ipa-server/ipaserver/dsinstance.py diff --git a/ipa-server/ipa-install/src/ipa/krbinstance.py b/ipa-server/ipaserver/krbinstance.py similarity index 100% rename from ipa-server/ipa-install/src/ipa/krbinstance.py rename to ipa-server/ipaserver/krbinstance.py diff --git a/ipa-server/ipa-install/src/ipa/util.py b/ipa-server/ipaserver/util.py similarity index 100% rename from ipa-server/ipa-install/src/ipa/util.py rename to ipa-server/ipaserver/util.py