Merge from bundle.

This commit is contained in:
Karl MacMillan 0001-01-01 00:00:00 +00:00
commit 0144922fd7
17 changed files with 397 additions and 302 deletions

View File

@ -2,36 +2,45 @@ SUBDIRS=ipa-server ipa-admintools ipa-python
PRJ_PREFIX=freeipa
# set to 1 to produce a debug build of all subprojects
#DEBUG=1
# 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_MINOR=2
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_MINOR=2
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
PYTHON_MAJOR=0
PYTHON_MINOR=1
PYTHON_MINOR=2
PYTHON_RELEASE=0
PYTHON_VERSION=$(PYTHON_MAJOR).$(PYTHON_MINOR).$(PYTHON_RELEASE)
PYTHON_TARBALL_PREFIX=$(PRJ_PREFIX)-python-$(PYTHON_VERSION)
PYTHON_TARBALL=$(PYTHON_TARBALL_PREFIX).tgz
ifeq ($(DEBUG),1)
export CFLAGS = -g -Wall -Wshadow
export LDFLAGS = -g
endif
all:
@for subdir in $(SUBDIRS); do \
(cd $$subdir && $(MAKE) $@) || exit 1; \
done
install:
install: all
@for subdir in $(SUBDIRS); do \
(cd $$subdir && $(MAKE) $@) || exit 1; \
done
@ -88,7 +97,7 @@ tarballs:
rpm-ipa-server:
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/RPMS/*/$(PRJ_PREFIX)-server-$(SERV_VERSION)-*.rpm dist/.
cp ~/rpmbuild/SRPMS/$(PRJ_PREFIX)-server-$(SERV_VERSION)-*.src.rpm dist/.
rpm-ipa-admin:

View File

@ -1,5 +1,5 @@
Name: freeipa-admintools
Version: 0.1.0
Version: 0.2.0
Release: 3%{?dist}
Summary: FreeIPA authentication server

View File

@ -1,5 +1,5 @@
Name: freeipa-admintools
Version: 0.1.0
Version: VERSION
Release: 3%{?dist}
Summary: FreeIPA authentication server

View File

@ -1,5 +1,5 @@
Name: freeipa-python
Version: 0.1.0
Version: 0.2.0
Release: 3%{?dist}
Summary: FreeIPA authentication server

View File

@ -1,4 +1,4 @@
SUBDIRS=ipa-install xmlrpc-server
SUBDIRS=ipa-install xmlrpc-server ipa-kpasswd ipa-slapi-plugins
PYTHONDIR=$(DESTDIR)/usr/share/ipa/ipaserver
all:

View File

@ -1,6 +1,6 @@
Name: freeipa-server
Version: 0.1.0
Release: 3%{?dist}
Version: 0.2.0
Release: 1%{?dist}
Summary: FreeIPA authentication server
Group: System Environment/Base
@ -8,11 +8,13 @@ License: GPL
URL: http://www.freeipa.org
Source0: %{name}-%{version}.tgz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
Requires: python fedora-ds-base krb5-server krb5-server-ldap nss-tools openldap-clients httpd mod_python mod_auth_kerb python-ldap freeipa-python ntpd cyrus-sasl-gssapi
BuildRequires: fedora-ds-base-devel openldap-devel krb5-devel nss-devel mozldap-devel openssl-devel mhash-devel
Requires: python fedora-ds-base krb5-server krb5-server-ldap nss-tools openldap-clients httpd mod_python mod_auth_kerb python-ldap freeipa-python ntpd cyrus-sasl-gssapi nss TurboGears
%define httpd_conf /etc/httpd/conf.d
%define plugin_dir /usr/lib/fedora-ds/plugins
%description
FreeIPA is a server for identity, policy, and audit.
@ -20,9 +22,14 @@ FreeIPA is a server for identity, policy, and audit.
%prep
%setup -q
%build
make DESTDIR=%{buildroot}
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{_sbindir}
mkdir -p %{buildroot}%{plugin_dir}
make install DESTDIR=%{buildroot}
@ -35,12 +42,19 @@ rm -rf %{buildroot}
%defattr(-,root,root,-)
%{_sbindir}/ipa-server-install
%{_sbindir}/ipa-server-setupssl
%{_sbindir}/ipa_kpasswd
%dir %{_usr}/share/ipa
%{_usr}/share/ipa/*
%{plugin_dir}/libipa_pwd_extop.so
%changelog
* Fri Aug 10 2007 Karl MacMillan <kmacmill@redhat.com> - 0.2.0-1
- Added support for ipa_kpasswd and ipa_pwd_extop
* Mon Aug 5 2007 Rob Crittenden <rcritten@redhat.com> - 0.1.0-3
- Abstracted client class to work directly or over RPC
@ -52,7 +66,7 @@ rm -rf %{buildroot}
- Create an ldif with a test user
- Provide a certmap.conf for doing SSL client authentication
* Fri Jul 27 2007 Karl MacMillan <kmacmill@localhost.localdomain> - 0.1.0-1
* Fri Jul 27 2007 Karl MacMillan <kmacmill@redhat.com> - 0.1.0-1
- Initial rpm version

View File

@ -1,6 +1,6 @@
Name: freeipa-server
Version: VERSION
Release: 3%{?dist}
Release: 1%{?dist}
Summary: FreeIPA authentication server
Group: System Environment/Base
@ -8,11 +8,13 @@ License: GPL
URL: http://www.freeipa.org
Source0: %{name}-%{version}.tgz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
Requires: python fedora-ds-base krb5-server krb5-server-ldap nss-tools openldap-clients httpd mod_python mod_auth_kerb python-ldap freeipa-python ntpd cyrus-sasl-gssapi
BuildRequires: fedora-ds-base-devel openldap-devel krb5-devel nss-devel mozldap-devel openssl-devel mhash-devel
Requires: python fedora-ds-base krb5-server krb5-server-ldap nss-tools openldap-clients httpd mod_python mod_auth_kerb python-ldap freeipa-python ntpd cyrus-sasl-gssapi nss TurboGears
%define httpd_conf /etc/httpd/conf.d
%define plugin_dir /usr/lib/fedora-ds/plugins
%description
FreeIPA is a server for identity, policy, and audit.
@ -20,9 +22,14 @@ FreeIPA is a server for identity, policy, and audit.
%prep
%setup -q
%build
make DESTDIR=%{buildroot}
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{_sbindir}
mkdir -p %{buildroot}%{plugin_dir}
make install DESTDIR=%{buildroot}
@ -35,12 +42,19 @@ rm -rf %{buildroot}
%defattr(-,root,root,-)
%{_sbindir}/ipa-server-install
%{_sbindir}/ipa-server-setupssl
%{_sbindir}/ipa_kpasswd
%dir %{_usr}/share/ipa
%{_usr}/share/ipa/*
%{plugin_dir}/libipa_pwd_extop.so
%changelog
* Fri Aug 10 2007 Karl MacMillan <kmacmill@redhat.com> - 0.2.0-1
- Added support for ipa_kpasswd and ipa_pwd_extop
* Mon Aug 5 2007 Rob Crittenden <rcritten@redhat.com> - 0.1.0-3
- Abstracted client class to work directly or over RPC
@ -52,7 +66,7 @@ rm -rf %{buildroot}
- Create an ldif with a test user
- Provide a certmap.conf for doing SSL client authentication
* Fri Jul 27 2007 Karl MacMillan <kmacmill@localhost.localdomain> - 0.1.0-1
* Fri Jul 27 2007 Karl MacMillan <kmacmill@redhat.com> - 0.1.0-1
- Initial rpm version

View File

@ -1,146 +1,146 @@
/*
* Quick mash-up of CSS for the TG quick start page.
*/
html, body {
color: #000;
background:#fff;
margin: 0;
padding: 0;
}
body {
min-width: 750px;
}
#page {
background:#ccc; /* should be same as #sidebar */
margin:0 auto;
width:100%;
}
#header {
background:#fff;
}
#header h1 {
padding:5px;
margin:0;
}
#nav {
background:#cc0000;
color:#fff;
padding:5px;
}
#nav ul {
margin:0;
padding:0;
list-style:none;
}
#nav li {
display:inline;
}
#nav a:visited {
color:#fff;
}
#nav a:link {
color:#fff;
}
#main_content {
background:#fff;
float:right;
width:85%;
border-left: 1px solid #000;
padding-left: 15px;
padding-bottom: 15px;
/* color: black;
font-size: 127%;
background-color: white;
margin: 0 auto 0 auto;
padding: 10px;
float: left; */
}
#sidebar {
background:#ccc; /* should be same as #page */
float:left;
width:10%;
/* border: 1px solid #aaa;
background-color: #eee;
margin: 0.5em;
padding: 1em;
float: left;
font-size: 88%; */
}
#sidebar h2 {
margin-top: 0;
}
#sidebar ul {
margin-left: 1.5em;
padding-left: 0;
}
#footer {
background:#fff;
clear:both;
border-top: 1px solid #000;
/* color: #999;
background-color: white;
padding: 10px;
font-size: 80%;
text-align: center;
margin: 0 auto 1em auto; */
}
.formsection {
color: #888888;
width: 90%;
font-weight: bold;
border-bottom: 1px solid;
margin: 20px 0px 20px 0px;
}
.formtable {
width: 90%;
}
.formtable th {
width: 15%;
text-align: right;
}
#status_block {
margin: 0 auto 0.5em auto;
padding: 15px 10px 15px 55px;
background: #cec URL('../images/ok.png') left center no-repeat;
border: 1px solid #9c9;
width: 450px;
font-size: 120%;
font-weight: bolder;
}
.notice {
margin: 0.5em auto 0.5em auto;
padding: 15px 10px 15px 55px;
width: 450px;
background: #eef URL('../images/info.png') left center no-repeat;
border: 1px solid #cce;
}
.fielderror {
color: red;
font-weight: bold;
}
/*
* Quick mash-up of CSS for the TG quick start page.
*/
html, body {
color: #000;
background:#fff;
margin: 0;
padding: 0;
}
body {
min-width: 750px;
}
#page {
background:#ccc; /* should be same as #sidebar */
margin:0 auto;
width:100%;
}
#header {
background:#fff;
}
#header h1 {
padding:5px;
margin:0;
}
#nav {
background:#cc0000;
color:#fff;
padding:5px;
}
#nav ul {
margin:0;
padding:0;
list-style:none;
}
#nav li {
display:inline;
}
#nav a:visited {
color:#fff;
}
#nav a:link {
color:#fff;
}
#main_content {
background:#fff;
float:right;
width:85%;
border-left: 1px solid #000;
padding-left: 15px;
padding-bottom: 15px;
/* color: black;
font-size: 127%;
background-color: white;
margin: 0 auto 0 auto;
padding: 10px;
float: left; */
}
#sidebar {
background:#ccc; /* should be same as #page */
float:left;
width:10%;
/* border: 1px solid #aaa;
background-color: #eee;
margin: 0.5em;
padding: 1em;
float: left;
font-size: 88%; */
}
#sidebar h2 {
margin-top: 0;
}
#sidebar ul {
margin-left: 1.5em;
padding-left: 0;
}
#footer {
background:#fff;
clear:both;
border-top: 1px solid #000;
/* color: #999;
background-color: white;
padding: 10px;
font-size: 80%;
text-align: center;
margin: 0 auto 1em auto; */
}
.formsection {
color: #888888;
width: 90%;
font-weight: bold;
border-bottom: 1px solid;
margin: 20px 0px 20px 0px;
}
.formtable {
width: 90%;
}
.formtable th {
width: 15%;
text-align: right;
}
#status_block {
margin: 0 auto 0.5em auto;
padding: 15px 10px 15px 55px;
background: #cec URL('../images/ok.png') left center no-repeat;
border: 1px solid #9c9;
width: 450px;
font-size: 120%;
font-weight: bolder;
}
.notice {
margin: 0.5em auto 0.5em auto;
padding: 15px 10px 15px 55px;
width: 450px;
background: #eef URL('../images/info.png') left center no-repeat;
border: 1px solid #cce;
}
.fielderror {
color: red;
font-weight: bold;
}

View File

@ -1,22 +1,22 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
py:extends="'master.kid'">
<head>
</head>
<body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'" py:attrs="item.items()">
<div id="main_content">
<div id="status_block" class="flash" py:if="value_of('tg_flash', None)" py:content="tg_flash"></div>
<div py:replace="[item.text]+item[:]"></div>
</div>
<div id="sidebar">
<h2>Tools</h2>
<a href="${tg.url('/groupindex')}">Add Group</a><br/>
<a href="${tg.url('/groupindex')}">Find Group</a><br/>
<a href="${tg.url('/groupindex')}">List Groups</a><br/>
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
py:extends="'master.kid'">
<head>
</head>
<body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'" py:attrs="item.items()">
<div id="main_content">
<div id="status_block" class="flash" py:if="value_of('tg_flash', None)" py:content="tg_flash"></div>
<div py:replace="[item.text]+item[:]"></div>
</div>
<div id="sidebar">
<h2>Tools</h2>
<a href="${tg.url('/groupindex')}">Add Group</a><br/>
<a href="${tg.url('/groupindex')}">Find Group</a><br/>
<a href="${tg.url('/groupindex')}">List Groups</a><br/>
</div>
</body>
</html>

View File

@ -1,48 +1,48 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?python import sitetemplate ?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#" py:extends="sitetemplate">
<head py:match="item.tag=='{http://www.w3.org/1999/xhtml}head'" py:attrs="item.items()">
<meta content="text/html; charset=UTF-8" http-equiv="content-type" py:replace="''"/>
<title py:replace="''">Your title goes here</title>
<meta py:replace="item[:]"/>
<style type="text/css" media="screen">
@import "${tg.url('/static/css/style.css')}";
</style>
</head>
<body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'" py:attrs="item.items()">
<div py:if="tg.config('identity.on') and not defined('logging_in')" id="pageLogin">
<span py:if="tg.identity.anonymous">
<a href="${tg.url('/login')}">Login</a>
</span>
<span py:if="not tg.identity.anonymous">
Welcome ${tg.identity.user.display_name}.
<a href="${tg.url('/logout')}">Logout</a>
</span>
</div>
<div id="page">
<div id="header">
<h1>Free IPA</h1>
</div>
<div id="nav">
<ul>
<li><a href="${tg.url('/userindex')}">Users</a></li>
<li><a href="${tg.url('/groupindex')}">Groups</a></li>
<li><a href="${tg.url('/resindex')}">Resources</a></li>
</ul>
</div>
<div py:replace="[item.text]+item[:]"></div>
<div id="footer">
This is the footer
</div>
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?python import sitetemplate ?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#" py:extends="sitetemplate">
<head py:match="item.tag=='{http://www.w3.org/1999/xhtml}head'" py:attrs="item.items()">
<meta content="text/html; charset=UTF-8" http-equiv="content-type" py:replace="''"/>
<title py:replace="''">Your title goes here</title>
<meta py:replace="item[:]"/>
<style type="text/css" media="screen">
@import "${tg.url('/static/css/style.css')}";
</style>
</head>
<body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'" py:attrs="item.items()">
<div py:if="tg.config('identity.on') and not defined('logging_in')" id="pageLogin">
<span py:if="tg.identity.anonymous">
<a href="${tg.url('/login')}">Login</a>
</span>
<span py:if="not tg.identity.anonymous">
Welcome ${tg.identity.user.display_name}.
<a href="${tg.url('/logout')}">Logout</a>
</span>
</div>
<div id="page">
<div id="header">
<h1>Free IPA</h1>
</div>
<div id="nav">
<ul>
<li><a href="${tg.url('/userindex')}">Users</a></li>
<li><a href="${tg.url('/groupindex')}">Groups</a></li>
<li><a href="${tg.url('/resindex')}">Resources</a></li>
</ul>
</div>
<div py:replace="[item.text]+item[:]"></div>
<div id="footer">
This is the footer
</div>
</div>
</body>
</html>

View File

@ -1,22 +1,22 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
py:extends="'master.kid'">
<head>
</head>
<body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'" py:attrs="item.items()">
<div id="main_content">
<div id="status_block" class="flash" py:if="value_of('tg_flash', None)" py:content="tg_flash"></div>
<div py:replace="[item.text]+item[:]"></div>
</div>
<div id="sidebar">
<h2>Tools</h2>
<a href="${tg.url('/resindex')}">Add Resource</a><br/>
<a href="${tg.url('/resindex')}">Find Resource</a><br/>
<a href="${tg.url('/resindex')}">List Resources</a><br/>
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
py:extends="'master.kid'">
<head>
</head>
<body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'" py:attrs="item.items()">
<div id="main_content">
<div id="status_block" class="flash" py:if="value_of('tg_flash', None)" py:content="tg_flash"></div>
<div py:replace="[item.text]+item[:]"></div>
</div>
<div id="sidebar">
<h2>Tools</h2>
<a href="${tg.url('/resindex')}">Add Resource</a><br/>
<a href="${tg.url('/resindex')}">Find Resource</a><br/>
<a href="${tg.url('/resindex')}">List Resources</a><br/>
</div>
</body>
</html>

View File

@ -1,22 +1,22 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
py:extends="'master.kid'">
<head>
</head>
<body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'" py:attrs="item.items()">
<div id="main_content">
<div id="status_block" class="flash" py:if="value_of('tg_flash', None)" py:content="tg_flash"></div>
<div py:replace="[item.text]+item[:]"></div>
</div>
<div id="sidebar">
<h2>Tools</h2>
<a href="${tg.url('/usernew')}">Add Person</a><br/>
<a href="${tg.url('/userindex')}">Find People</a><br/>
<a href="${tg.url('/userlist')}">List People</a><br/>
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
py:extends="'master.kid'">
<head>
</head>
<body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'" py:attrs="item.items()">
<div id="main_content">
<div id="status_block" class="flash" py:if="value_of('tg_flash', None)" py:content="tg_flash"></div>
<div py:replace="[item.text]+item[:]"></div>
</div>
<div id="sidebar">
<h2>Tools</h2>
<a href="${tg.url('/usernew')}">Add Person</a><br/>
<a href="${tg.url('/userindex')}">Find People</a><br/>
<a href="${tg.url('/userlist')}">List People</a><br/>
</div>
</body>
</html>

View File

@ -1,18 +1,18 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
py:extends="'master.kid'">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" py:replace="''"/>
<title>Welcome</title>
</head>
<body>
<div id="sidebar">
<h2>Tools</h2>
</div>
<div id="main_content">
<div id="status_block" class="flash" py:if="value_of('tg_flash', None)" py:content="tg_flash"></div>
<h1>Welcome to Free IPA</h1>
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
py:extends="'master.kid'">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" py:replace="''"/>
<title>Welcome</title>
</head>
<body>
<div id="sidebar">
<h2>Tools</h2>
</div>
<div id="main_content">
<div id="status_block" class="flash" py:if="value_of('tg_flash', None)" py:content="tg_flash"></div>
<h1>Welcome to Free IPA</h1>
</div>
</body>
</html>

View File

@ -3,6 +3,7 @@ SBINDIR=$(DESTDIR)/usr/sbin
all: ;
install:
-mkdir $(SBINDIR)
install -m 755 ipa-server-install $(SBINDIR)
install -m 755 ipa-server-setupssl $(SBINDIR)
$(MAKE) -C share $@

View File

@ -1,5 +1,22 @@
all:
gcc ipa_kpasswd.c -I/usr/include -lkrb5 -llber -lldap -g -o ipa_kpasswd
PREFIX ?= $(DESTDIR)/usr
SBIN = $(PREFIX)/sbin
LDFLAGS +=-lkrb5 -llber -lldap
CFLAGS ?= -Wall -Wshadow -O2
OBJS = $(patsubst %.c,%.o,$(wildcard *.c))
all: $(OBJS)
$(CC) $(LDFLAGS) $(OBJS) -o ipa_kpasswd
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
install:
cp -f ipa_kpasswd /usr/sbin/
-mkdir -p $(SBIN)
install -m 755 ipa_kpasswd $(SBIN)
clean:
rm -f *.o
rm -f ipa_kpasswd
rm -f *~

View File

@ -0,0 +1,17 @@
SUBDIRS=ipa-pwd-extop
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
rm -f *~

View File

@ -1,5 +1,28 @@
all:
gcc ipa_pwd_extop.c -I/usr/include -I/usr/include/nss3 -I/usr/include/mozldap -I/usr/include/nspr4 -I/usr/include/fedora-ds -lkrb5 -lmhash -llber -lssl -shared -g -fPIC -DPIC -Wl,-soname -Wl,libipa_pwd_extop.so -o libipa_pwd_extop.so
PREFIX ?= $(DESTDIR)/usr
LIBDIR = $(PREFIX)/lib/fedora-ds/plugins
SHAREDIR = $(DESTDIR)/usr/share/ipa
SONAME = libipa_pwd_extop.so
LDFLAGS += -lkrb5 -llber -lldap -lmhash -llber -lssl
CFLAGS ?= -Wall -Wshadow -O2
CFLAGS += -I/usr/include/fedora-ds -I/usr/include/nss3 -I/usr/include/mozldap -I/usr/include/nspr4 -fPIC -DPIC
OBJS = $(patsubst %.c,%.o,$(wildcard *.c))
all: $(OBJS)
$(CC) $(LDFLAGS) $(OBJS) -Wl,-soname -Wl,$(SONAME) -shared -o $(SONAME)
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
install:
cp -f libipa_pwd_extop.so /usr/lib/fedora-ds/plugins/
-mkdir -p $(LIBDIR)
install -m 644 libipa_pwd_extop.so $(LIBDIR)
install -m 644 *.ldif $(SHAREDIR)
clean:
rm -f *.o
rm -f $(SONAME)
rm -f *~